求解,在package body中取得值。
在package body中。
我想实现,查一个表的一个字段。
将rownum=1,2,3的值,放入3个变量中。这3个变量也许有1个,也许有2个,也许有3个。
因为不熟悉oracle,所以想问问,这该怎么写?
麻烦大家了~
------解决方案--------------------最简单的写法动态SQL
------解决方案--------------------你可以写一个游标,存放rownum=1,2,3....的值,到时间再调用游标
------解决方案--------------------可以写一个带参数的游标
------解决方案--------------------
package有包头和包体,给你个例子吧:
包头:
CREATE OR REPLACE PACKAGE pack_demo
AS
procedure proc_demo;
END pack_demoj;
包体:
CREATE OR REPLACE PACKAGE BODY pack_demo
AS
my_cur mytable%TYPE;
CURSOR my_curs IS
SELECT * FROM mytable WHERE rownum<=3; --声明游标
BEGIN
OPEN my_curs; --打开游标
LOOP
FETCH my_curs INTO my_cur; --一行一行的提取
EXIT WHEN toy_cur%NOTFOUND;
DBMS_OUTPUT.PUT_LINE('第一行:'||my_cur.字段1||my_cur.字段2||my_cur.字段3);
END LOOP;
CLOSE my_curs; --关闭游标
END;
END pack_demo;