如果表没有修复,我怎么能写光标。 E.g
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
...
这会出现语法错误,请提示?
答案 0 :(得分:2)
如果你写的正确的话,这确实有效!
IF @i=1
declare cur cursor for
SELECT col1,col2 FROM table_1
ELSE
declare cur cursor for
SELECT col1,col2 FROM table_2
答案 1 :(得分:0)
他是一个丑陋的黑客,你可能会更好地使用动态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