Czy istnieje sposób w ramach procedura przechowywana, aby odwołać się do własnej nazwy? Powiedzmy, że chcę wydrukować własną nazwę, ale bez twardego kodowania nazwy w procedurze przechowywanej. Czy istnieje jakiś oszust, aby uzyskać nazwę lub identyfikator z samej procedury bez używania rzeczywistej nazwy, aby znaleźć informacje?Czy procedura składowana MS/Transact-SQL wyszukuje własną nazwę?
Odpowiedz
Spróbuj:
SELECT OBJECT_NAME(@@PROCID)
@@ PROCID zwraca identyfikator obiektu bieżącego modułu SQL. OBJECT_NAME tłumaczy identyfikator obiektu na jego nazwę. Oba są dostępne od co najmniej wersji od 7 do 2008 SQL Server.
Szukacie @@ PROCID i OBJECT_NAME tj
select @procName=OBJECT_NAME(@@PROCID)
Nie ma powodu, dla którego nie powinieneś również uzyskać głosowania na twoją odpowiedź tylko dlatego, że straciłeś sekundę. – TheTXI
Panowie, jestem wzruszony :) –
Nazwa proc/func
Select OBJECT_NAME(@@PROCID);
Inne ciekawe rzeczy
Select * From sys.sysprocesses Where spid = @@SPID
Oto niektóre kodu majstrować Pisałem , działa na bazie danych SQL Server 2005, aby grać z funkcją OBJECT_NAME (@@ PROCID).
Run to pierwszy odcinek, aby utworzyć tabelę dziennika
CREATE TABLE Diagnostics_Log
(
sprocName sysname,
WhenRun datetime,
Comment Varchar(160) NULL
)
- =========================== =============
Następnie uruchom ten T-SQL, aby utworzyć kilka wersji tego samego sproc, dodając za każdym razem przyrostek numeryczny.
CREATE PROC dg_test_name_logging
@Comment Varchar(160)
AS
declare @Sprocname sysname
select @sprocName = OBJECT_NAME(@@PROCID)
PRINT @@PROCID
print @sprocname
insert into Diagnostics_Log VALUES (@sprocname, GetDate(), @Comment)
GO
- ========== Następnie uruchom tę sekcję
exec dg_test_name_logging 'this is the first run'
WAITFOR DELAY '00:00:00:123'
exec dg_test_name_logging1 'this is my second comment'
WAITFOR DELAY '00:00:00:123'
exec dg_test_name_logging2 'yet another comment'
WAITFOR DELAY '00:00:02:123'
exec dg_test_name_logging3 'amazing'
WAITFOR DELAY '00:00:00:123'
exec dg_test_name_logging4 'I''ll be gobsmacked if this works'
WAITFOR DELAY '00:00:00:123'
exec dg_test_name_logging5 'It''s ALIVE !!!'
select * from Diagnostics_Log
może być przydatna do rejestrowania podczas sprocs lub poglądy są prowadzone lub dostępne.
sama nazwa_obiektu nie określa schematu bieżącego obiektu. Aby to zrobić:
print object_schema_name(@@PROCID) + '.' + object_name(@@PROCID)
- 1. Najczęściej wykonywana procedura składowana?
- 2. Procedura składowana SQL LIKE
- 3. Procedura składowana IF/ELSE
- 4. Procedura składowana lub kod
- 5. Procedura składowana Java Procedura przechowywana w języku PL/SQL
- 6. Procedura składowana MySQL a złożone zapytanie
- 7. Procedura składowana SQL przekazująca parametr do "zamówienia"
- 8. Procedura składowana SQL Server Foldery/Grupowanie
- 9. Oracle: procedura składowana Java wysyłająca wiadomość JMS
- 10. Czy procedura składowana SQL Server może określić nazwę jej macierzystego procesu?
- 11. Dostęp% ROWTYPE z procedura składowana z Java
- 12. W MySQL: Jak przekazać nazwę tabeli jako procedura składowana i/lub argument funkcji?
- 13. Dowiedz się, wywołując procedura składowana w SQL Server
- 14. Fluent NHibernate do zapytania procedura składowana bez mapowania hbm.xml
- 15. Entity Framework - procedura składowana wywołania z domyślnymi parametrami
- 16. Procedura składowana SQL JEŚLI WSTECZ AKTUALIZACJĘ WSTAW ELSE WSTAW
- 17. Potrzebuję procedura składowana wstawia wiersz i zwraca identyfikator
- 18. Procedura składowana SSIS wykorzystuje tabelę tymczasową 2008 i 2014
- 19. Entity Framework 4 Procedura składowana Czas oczekiwania na wywołanie
- 20. Procedura składowana powoduje „Polecenia z synchronizacją” na następnej zapytania
- 21. SQL - procedura składowana z Select Statement przy użyciu IN (@Variable_CommaDelimitedListOfIDS)
- 22. Get nazwy pól z procedura składowana z Dapper
- 23. Procedura składowana SQL Server wolniejsza niż proste zapytanie
- 24. Czy metoda cfc ColdFusion może określić własną nazwę?
- 25. Jak zdobyć własną nazwę pliku mrówki xml?
- 26. Czy procedura składowana może działać z dwoma różnymi bazami danych? Co powiesz na dwa serwery?
- 27. Czy program może czytać własną sekcję elfa?
- 28. Czy większość przeglądarek automatycznie wyszukuje plik favicon.ico?
- 29. Czy ADL nie wyszukuje funkcji elementów statycznych?
- 30. sql server helper procedura składowana lub narzędzie do zmiany tabeli alter column IDENTYFIKACJA (1,1)
D'oh! Sekund za późno. Touche! +1 –
+1 Działa na moim komputerze: Przy okazji, czy @@ PROCID działa dla wszystkich wersji SQL Server? Chodzi mi o to, przynajmniej dla SQL Server 2k/2k5/2k8? – Sung
Tak, przynajmniej 2000 w górę. Nie pamiętam, czy to działało 6,5 czy 7: –