Apakah mungkin untuk mendapatkan nama Prosedur Tersimpan saat ini di MS SQL Server?
Mungkin ada variabel sistem atau fungsi seperti GETDATE()
?
sql-server
sql-server-2008
tsql
stored-procedures
Sergey Metlov
sumber
sumber
sumber
BEGIN TRAN GO CREATE PROC utility.TempProc AS SELECT OBJECT_SCHEMA_NAME(@@PROCID)+'.'+OBJECT_NAME(@@PROCID) GO EXEC utility.TempProc GO ROLLBACK GO BEGIN TRAN GO CREATE PROC utility.#TempProc AS SELECT OBJECT_SCHEMA_NAME(@@PROCID)+'.'+OBJECT_NAME(@@PROCID) GO EXEC utility.#TempProc GO ROLLBACK GO
Anda dapat menggunakan OBJECT_NAME (@@ PROCID)
sumber
Dalam kasus khusus di mana Anda tertarik dengan nama prosedur tersimpan sementara yang sedang dijalankan , Anda bisa mendapatkannya melalui:
Anda tidak dapat menggunakan jawaban yang diterima di SQL Server untuk menemukan nama prosedur tersimpan sementara yang sedang dijalankan:
sumber
Anda bisa memeriksanya
NULL
sebelum mendapatkan skema dan nama prosedur tersimpan.Ini berarti Anda bisa mendapatkan data yang benar bahkan untuk prosedur yang disimpan sementara (global) (klik gambar untuk memperbesar):
sumber