我有点模糊。大家都知道:如果定义一个游标CURSOR 然后通过循环 open fetch into 是可以取多条字段的。
但如果直接把sql语句放在execute 里执行,如 exec select 字段 from tab into var where end exec
是只能取唯一一条的。如果表里有多条满足条件的记录是会报错的。现在我有点模糊的地方是:定义一个游标 CURSOR curtr (参数) IS
SELECT 字段
FROM tab
WHERE ....;
var curtr%type;
OPEN curtr(inSTAGE_TIME);
FETCH curTR INTO var;他这样取也是只能返回唯一一条 我的理解是这样。不知道有没有错?
但如果直接把sql语句放在execute 里执行,如 exec select 字段 from tab into var where end exec
是只能取唯一一条的。如果表里有多条满足条件的记录是会报错的。现在我有点模糊的地方是:定义一个游标 CURSOR curtr (参数) IS
SELECT 字段
FROM tab
WHERE ....;
var curtr%type;
OPEN curtr(inSTAGE_TIME);
FETCH curTR INTO var;他这样取也是只能返回唯一一条 我的理解是这样。不知道有没有错?
所以游标一般和LOOP配合,处理多条数据。