Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana mengembalikan output dari prosedur tersimpan ke dalam variabel di sql server

Itu tergantung pada sifat informasi yang ingin Anda kembalikan.

Jika itu adalah nilai integer tunggal, Anda dapat menggunakan return pernyataan

 create proc myproc
 as 
 begin
     return 1
 end
 go
 declare @i int
 exec @i = myproc

Jika Anda memiliki nilai non integer, atau sejumlah nilai skalar, Anda dapat menggunakan parameter keluaran

create proc myproc
  @a int output,
  @b varchar(50) output
as
begin
  select @a = 1, @b='hello'
end
go
declare @i int, @j varchar(50)
exec myproc @i output, @j output

Jika Anda ingin mengembalikan set data, Anda dapat menggunakan insert exec

create proc myproc
as 
begin
     select name from sysobjects
end
go

declare @t table (name varchar(100))
insert @t (name)
exec myproc

Anda bahkan dapat mengembalikan kursor tapi itu mengerikan jadi saya tidak akan memberikan contoh :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Berapa ukuran nilai Null yang dibutuhkan di SQL Server

  2. Ukuran maksimum untuk Kueri SQL Server? klausa IN? Apakah ada Pendekatan yang Lebih Baik?

  3. Berbagai Cara untuk Membandingkan Skema dan Data Tabel SQL Server

  4. 4 Tips untuk Menjalankan Diagnostik SQL Server

  5. DB_NAME() vs ORIGINAL_DB_NAME() di SQL Server:Apa Bedanya?