Menetapkan Keputusan Exec kepada Pembolehubah SQL
Soalan:
Bagaimana anda boleh menetapkan hasil panggilan exec kepada pembolehubah dalam SQL ? Sebagai contoh, jika anda mempunyai prosedur tersimpan bernama up_GetBusinessDay yang mengembalikan satu tarikh, bolehkah anda menetapkan keputusan menggunakan pernyataan seperti:
exec @PreviousBusinessDay = dbo.up_GetBusinessDay @Date, -1
Jawapan:
Menggunakan parameter output ialah pendekatan yang diutamakan daripada memberikan hasil terus kepada pembolehubah. Berikut ialah contoh mencipta prosedur tersimpan dengan parameter output:
CREATE PROCEDURE YourStoredProcedure ( @Param1 int ,@Param2 varchar(5) ,@Param3 datetime OUTPUT ) AS IF ISNULL(@Param1, 0) > 5 BEGIN SET @Param3 = GETDATE() END ELSE BEGIN SET @Param3 = '1/1/2010' END RETURN 0 GO
Untuk memanggil prosedur tersimpan ini dan menggunakan parameter output:
DECLARE @OutputParameter datetime ,@ReturnValue int EXEC @ReturnValue = YourStoredProcedure 1, NULL, @OutputParameter OUTPUT PRINT @ReturnValue PRINT CONVERT(char(23), @OutputParameter, 121)
Ini akan menghasilkan:
0 2010-01-01 00:00:00.000
Atas ialah kandungan terperinci Bagaimana untuk Menetapkan Hasil Panggilan EXEC kepada Pembolehubah SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!