Как мне получить удостоверение от одного спрока и передать его другому? - PullRequest
0 голосов
/ 21 апреля 2009

Привет, все, я ищу способ передать сгенерированный идентификатор из спрока в другой.

т.е.

@name varchar(12),
@descript varchar(55)
@test_date date,
@test_result varchar(1)
BEGIN
   EXEC ts_create_item @name, @descript
END
if (@test_date is not null) or (isnull(@test_result_id,'')!='')
BEGIN
   Exec ts_update_test_results @itemid(generated from the sproc before), @test_date, @test_result
End

Есть ли способ сделать это на сервере SQL?

Спасибо

1 Ответ

1 голос
/ 21 апреля 2009

Использовать выходную переменную

чтобы вы объявили предыдущий процесс как

Create proc SomeProc (@parm1 int, @parm2 int, @id int = null OUTPUT)
as
Begin
  ...do some insert
  select @id = scope_identity()
End 

И помните, OUTPUT должен быть указан как при объявлении, так и при назначении параметра то есть.

Exec someproc @parm1, @parm2, @id OUTPUT

В качестве альтернативы вы можете использовать локальную переменную для хранения результата

, например

create proc somesample(@in int)
as
Begin
    select @in * 2
End 

declare @var int
exec @var = somesample 1
print @var
2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...