- 論壇徽章:
- 0
|
如下的PL/SQL函數(shù):
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;
這個(gè)函數(shù)有沒有什么問題,尤其是紅色字體的那部分?
如果要是從多個(gè)表中選擇數(shù)據(jù),那么這個(gè)函數(shù)中的setValue()部分應(yīng)該怎么寫?
是像下面這個(gè)函數(shù)這樣么:
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;
剛剛接觸ORACLE 和 PL/SQL,有許多問題不太明白,麻煩各位指正,謝謝大家。 |
|