【发布时间】:2017-09-22 15:06:00
【问题描述】:
我试图使用这样的东西:
DECLARE type cur1 REF CURSOR;
c1 cur1;
BEGIN
IF (variable1 = 'true') THEN
OPEN c1 FOR 'SELECT * FROM STUDENT';
ELSE
OPEN c1 FOR 'SELECT * FORM EMP';
END IF ;
END;
我从PL/SQL cursor with IF condition得到的
但是,我需要遍历光标才能使用数据。所以我想弄清楚如何做以下事情。
DECLARE type cur1 REF CURSOR;
c1 cur1;
BEGIN
IF (variable1 = 'true') THEN
OPEN c1 FOR 'SELECT * FROM STUDENT';
ELSE
OPEN c1 FOR 'SELECT * FORM EMP';
END IF ;
for award_rec in c1 loop ....
END;
但我收到以下错误
PLS-00221:“c1”不是过程或未定义
我应该如何构建它?
【问题讨论】:
-
可能不相关,但是:比较运算符是
=,所以应该是if variable = 'true'。:=用于分配而不是用于比较 -
a_horse_with_no_name 你对 = 是正确的,我忘了在问题中改变它。谢谢!