Help required
639593May 31 2008 — edited May 31 2008Hi all,
I have a procedure like this
CREATE OR REPLACE PROCEDURE prdmsxpath
(
v_dmscode IN NUMBER DEFAULT NULL ,
v_dmstype IN NUMBER DEFAULT NULL ,-- 0: Folder; 1: Document;
cv_1 IN OUT SYS_REFCURSOR
)
AS
--WITH ENCRYPTION
BEGIN
IF v_dmstype = 0 THEN
BEGIN
INSERT INTO tt_v_temptable_tbldms
( SELECT fldfoldercode,
fldparentcode,
fldfoldername
FROM tbldmsfolder
WHERE fldfoldercode = v_dmscode );
END;
ELSE
BEGIN
INSERT INTO tt_v_temptable_tbldms
( SELECT flddocumentcode,
fldfoldercode,
flddocumentname
FROM tbldmsdocument
WHERE flddocumentcode = v_dmscode );
END;
END IF;
OPEN cv_1 FOR
WITH cte AS ( SELECT 0,
flddmscode,
fldparentcode,
flddmsname
FROM tt_v_temptable_tbldms
UNION ALL
SELECT t.fldindex + 1,
f.fldfoldercode,
f.fldparentcode,
f.fldfoldername
FROM tbldmsfolder f
JOIN cte t
ON f.fldfoldercode = t.fldparentcode
WHERE t.fldparentcode IS NOT NULL )
SELECT flddmscode,
flddmsname
FROM cte
ORDER BY fldindex DESC;
END;
when i compile i get the following error
30/7 PL/SQL: SQL Statement ignored
41/18 PL/SQL: ORA-32031: illegal reference of a query name in WITH
clause
Thanks in advance.
Regards
Ariff