标题: 从多个表中SELECT数据后,怎样从游标中取值? [打印本页] 作者: pwair 时间: 2004-03-22 21:12 标题: 从多个表中SELECT数据后,怎样从游标中取值? 如下的PL/SQL函数:
CREATE OR REPLACE FUNCTION TEST1
RETURN INTEGER
IS
vc_Name VARCHAR(100) := '';
vc_Code VARCHAR(100) := '';
CURSOR cur
IS
SELECT NAME,CODE
FROM A
;
FUNCTION setValue(prec IN A%ROWTYPE)
RETURN BOOLEAN
IS
b_Status := TRUE;
BEGIN
vc_Name := prec.NAME;
vc_Code := prec.CODE;
RETURN b_Status;
END;
BEGIN
FOR rec IN cur LOOP
setValue(rec);
END LOOP;
END;
这个函数有没有什么问题,尤其是红色字体的那部分?
如果要是从多个表中选择数据,那么这个函数中的setValue()部分应该怎么写?
是像下面这个函数这样么:
CREATE OR REPLACE FUNCTION TEST2
RETURN INTEGER
IS
vc_Name VARCHAR(100) := '';
vc_Code VARCHAR(100) := '';
vc_Type VARCHAR(100) := '';
CURSOR cur
IS
SELECT A.NAME,A.CODE,B.TYPE
FROM A,B
WHERE A.CODE=B.CODE
;
FUNCTION setValue1(prec IN A%ROWTYPE)
RETURN BOOLEAN
IS
b_Status := TRUE;
BEGIN
vc_Name := prec.NAME;
vc_Code := prec.CODE;
RETURN b_Status;
END;
FUNCTION setValue2(prec IN B%ROWTYPE)
RETURN BOOLEAN
IS
b_Status := TRUE;
BEGIN
vc_Type := prec.TYPE;
RETURN b_Status;
END;
BEGIN
FOR rec IN cur LOOP
setValue1(rec);
setValue2(rec);
END LOOP;
END;