Jak zwrócić wynik procedury przechowywanej do zmiennej na serwerze SQL?

Chcę wykonać procedurę przechowywaną w programie SQL Server i przypisać dane wyjściowe do zmiennej)? Macie jakiś pomysł?

1 odpowiedź

Zależy to od charakteru informacji, które chcesz zwrócić.

Jeśli jest to jedna liczba całkowita, możesz użyć instrukcji return

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

Jeśli masz wartość inną niż całkowita lub liczbę 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

Twoja odpowiedź

Zaloguj się aby odpowiedzieć.

Operiada

Operiada to polskojęzyczne forum informatyczne działające na zasadzie pytań i odpowiedzi.

Obserwowane tagi

Zaloguj się aby obserwować tagi.