Das hängt von der Art der Informationen ab, die Sie zurückgeben möchten.
Wenn es sich um einen einzelnen ganzzahligen Wert handelt, können Sie den return
verwenden Erklärung
create proc myproc
as
begin
return 1
end
go
declare @i int
exec @i = myproc
Wenn Sie einen nicht ganzzahligen Wert oder eine Reihe von Skalarwerten haben, können Sie Ausgabeparameter verwenden
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
Wenn Sie einen Datensatz zurückgeben möchten, können Sie insert exec
verwenden
create proc myproc
as
begin
select name from sysobjects
end
go
declare @t table (name varchar(100))
insert @t (name)
exec myproc
Sie können sogar einen Cursor zurückgeben, aber das ist einfach schrecklich, also werde ich kein Beispiel geben :)