2

少し見回しましたが、まだ運がありません

SQLServerを使用しています。これが全体のシナリオです。

古いレガシーsp(多くの依存関係やその他の問題のために変更できません)があり、値を返さず、出力パラメーターも受け入れません。値を選択するだけです。

Create sp myoldsp (@paramentes)
as
...
select scope_identity() as autoID
...

今、私はこのautoID値が必要な別のspを書いています、私は試しました

exec myoldsp @parameters
select scope_identity()

そしてまた試した

Declare @autoid int
exec @autoid=myoldsp @parametes

しかし、その戻り値を取得することはできません。助けてくれてありがとう

4

1 に答える 1

5

一時テーブルを作成し、そこに挿入する必要があります。

declare @t table (id int)

insert @t (id)
exec myoldsp @parameters

(あなたが試みていたもの---ステートメントexec @autoid=myoldspから値を返すでしょう)return [val]

于 2012-10-15T14:58:42.353 に答える