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