Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak zwrócić wynik procedury składowanej do zmiennej w serwerze sql?

To zależy od charakteru informacji, które chcesz zwrócić.

Jeśli jest to pojedyncza wartość całkowita, możesz użyć return oświadczenie

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

Jeśli masz wartość niecałkowitą lub kilka wartości skalarnych, możesz użyć parametrów wyjściowych

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

Jeśli chcesz zwrócić zestaw danych, możesz użyć insert exec

create proc myproc
as 
begin
     select name from sysobjects
end
go

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

Możesz nawet zwrócić kursor, ale to po prostu okropne, więc nie podam przykładu :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Może SQL Server PIVOT?

  2. Hierarchia technologii pamięci/magazynowania i SQL Server

  3. Importuj wiele plików CSV do SQL Server z folderu

  4. Przykłady PI() w SQL Server

  5. Jak zainstalować sqlcmd i bcp w Red Hat?