SELECTステートメントで一連の行を返します。Selectに値を含めるSQL Serverカーソル
各行から、列の値を取得し、それをストアドプロシージャに渡して、一連の行自体に必要な値を取得する必要があります。例えば
:
DECLARE @col1 int
DECLARE @col2 int
DECLARE @col3 varchar(20)
DECLARE myCursor CURSOR FOR
SELECT col1, col2, col3
FROM table1
WHERE....
OPEN myCursor
FETCH NEXT FROM myCursor
INTO @col1, @col2
WHILE @@FETH_STATUS = 0
BEGIN
SET @col3 = EXEC proc_GetCol3_Value @col1, @col2
FETCH NEXT FROM myCursor
INTO @col1, @col2
END
CLOSE myCursor
DEALLOCATE myCursor
次に、そのベースから、私は、元のカーソルに加え、カラム3の値となるように実行されるストアドプロシージャから取得された値によって検索として行を返すようにしたいです。
言って、SQLカーソルによって返された行は次のとおりです。
col1 col2 col3
1 5000
2 5000
3 2500
4 2000
そして、私は必要なのすべての列がカーソルやストアドプロシージャを実行した後に供給されていると、結果セットがあるべきであるということである。
col1 col2 col3
1 5000 APPROVED
2 5000 REJECTED
3 2500 CANCELLED
4 2000 APPROVED
アイデアを歓迎します。ありがとう。
P.S. JOIN文を使用するだけでは多くのアドバイスがありますが、実行されるストアドプロシージャは非常に複雑なので、カーソルSQL文との結合は複雑すぎます。
が親切にタイトルを変更します。 – Batuta