Bagaimana Anda menetapkan hasil panggilan exec ke variabel di SQL? Saya memiliki proc tersimpan yang disebut up_GetBusinessDay
, yang mengembalikan satu tanggal.
Bisakah Anda melakukan sesuatu seperti ini:
exec @PreviousBusinessDay = dbo.up_GetBusinessDay @Date, -1
sql
sql-server
tsql
stored-procedures
Prabhu
sumber
sumber
Ini akan berfungsi jika Anda ingin mengembalikan integer:
sumber
UNIQUEIDENTIFIER
.UNIQUEIDENTIFIER
hanyalah sebuah contoh,RETURN
dirancang untuk hanya bekerja dengan nilai integer, lihat dokumen . Cara yang disarankan untuk mendapatkan data lain dari SP adalah dengan mengembalikan set hasil atau menggunakanOUTPUT
sumber
Dari dokumentasi (dengan asumsi Anda menggunakan SQL-Server):
Jadi ya, seharusnya seperti itu.
sumber
Saya memiliki pertanyaan yang sama. Meskipun ada jawaban bagus di sini, saya memutuskan untuk membuat fungsi nilai tabel. Dengan fungsi bernilai tabel (atau skalar), Anda tidak perlu mengubah proc yang disimpan. Saya hanya melakukan seleksi dari fungsi nilai tabel. Perhatikan bahwa parameter (MyParameter bersifat opsional).
Untuk menetapkan ke variabel Anda, Anda cukup melakukan sesuatu seperti:
Anda juga dapat menggunakan fungsi bernilai skalar:
Maka Anda bisa melakukannya
sumber