我这样非法:
CREATE OR REPLACE PROCEDURE "SP_TEST"
(
v_sql VARCHAR2,
)
AS
CURSOR sRs IS v_sql;
dRs sRs%ROWTYPE;
BEGIN
OPEN sRs;
LOOP
fetch sRs INTO dRs;
EXIT WHEN sRs%NOTFOUND;
……
END LOOP;
CLOSE sRs;
RETURN;
END;
CREATE OR REPLACE PROCEDURE "SP_TEST"
(
v_sql VARCHAR2,
)
AS
CURSOR sRs IS v_sql;
dRs sRs%ROWTYPE;
BEGIN
OPEN sRs;
LOOP
fetch sRs INTO dRs;
EXIT WHEN sRs%NOTFOUND;
……
END LOOP;
CLOSE sRs;
RETURN;
END;
C_SQL T_CUR;
LS_SQL varchar2(1000);
--定义sql
ls_sql:='select bae006,aae035 from ab01';
OPEN C_SQL FOR LS_SQL;
LOOP
FETCH C_SQL INTO LS_BAE006,LS_AAE035;
EXIT WHEN C_SQL%NOTFOUND;
--处理
END Loop;
CLOSE C_SQL;