【发布时间】:2013-03-21 10:36:56
【问题描述】:
此过程出现以下错误。
CREATE OR REPLACE PROCEDURE SAMPLE
IS
BEGIN
EXECUTE IMMEDIATE
'CREATE TABLE COLUMN_NAMES AS (
SELECT LISTAGG(COLUMN_NAME, ',') WITHIN GROUP (ORDER BY COLUMN_NAME) AS STUDENTS
FROM
(SELECT DISTINCT COLUMN_NAME
FROM BW_COLUMN_ROW_CELL_JOIN)
)';
END;
/
给予:
PLS-00103: Encountered the symbol "," when expecting one of the following:
* & = - + ; < / > at in is mod remainder not rem return
returning <an exponent (**)> <> or != or ~= >= <= <> and or
like like2 like4 likec between into using || multiset bulk member submultiset
谁能说说这有什么问题?
谢谢。
【问题讨论】:
-
@Dazzal。感谢您的回复...实际上,当我们要执行它们在运行时运行的 DDL 命令时,我认为应该在存储过程中使用 Execute Immediate。