テーブルが修正されていない場合はどうすればカーソルを書くことができますか? 例えばif文付きカーソル
DECLARE cursor_1 CURSOR
FOR
IF BEGIN @i=1 SELECT col1,col2 FROM table_1 END
ELSE BEGIN SELECT col1,col2 FROM table_2 END
...
これは構文エラーを与える提案してください?
テーブルが修正されていない場合はどうすればカーソルを書くことができますか? 例えばif文付きカーソル
DECLARE cursor_1 CURSOR
FOR
IF BEGIN @i=1 SELECT col1,col2 FROM table_1 END
ELSE BEGIN SELECT col1,col2 FROM table_2 END
...
これは構文エラーを与える提案してください?
これは実際に動作しますが、あなたはそれを正しく記述している場合!
IF @i=1
declare cur cursor for
SELECT col1,col2 FROM table_1
ELSE
declare cur cursor for
SELECT col1,col2 FROM table_2
彼は醜いハックです、あなたはおそらく、動的SQLで良くなる、またはそれ以上の賢明な方法でこれを再書き込みが、したい:
DECLARE cursor_1 CURSOR
FOR
SELECT col1, col2 FROM table_1
WHERE @i = 1
UNION
SELECT col1, col2 FROM table_2
WHERE @i = 2
良い1つの感謝yar ........... – gauravghodnadikar
これは本当に醜いですし、後にユニオンがあります。だけでなく、CASEステートメントがひどいです..あなたが答えを受け入れることができない場合、それはちょうど "WHERE @ i = 1"と "WHERE @ i = 2"でなければなりません – RichardTheKiwi
@cyberwiki - それは本当にかなり醜いです私はそれを使用することをお勧めしましたが、それはクエリに答えることに注意してください... – Paddy
これはSQLサーバーの権利ですか? Yumは、動的SQLとexecコマンドを見たいかもしれません。 – SWeko
本当にする必要がない限り、カーソルの使用を避けてください。そしてそれでも、それらを使用しないでください! –
はい、問題の背景情報はもう少しいいですね。 – SWeko