从PL/SQLOracle中的过程问题开始,我在执行时遇到了问题,这表明错误ORA-00984
以下是我执行的程序代码
create or replace PROCEDURE P_FILEUPLOAD_XML IS
BEGIN
INSERT INTO SPRCMNT (
SPRCMNT_CMTT_CODE,
SPRCMNT_TEXT,
SPRCMNT_TEXT_NAR)
VALUES(P_CMTT_CODE,
P_TEXT,
P_TEXT_NAR);
EXCEPTION WHEN OTHERS THEN
COMMIT;
END;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('Error:' || SQLERRM);
DBMS_LOB.CLOSE(l_loc);
--dbms_output.put_line('P_RET_VAL:' || P_RET_VAL);
END;
这是保存我的程序时的错误
PL/SQL: ORA-00984: column not allowed here
我不知道我是否遗漏了任何变量声明或其他内容,正如我所说,我只是从程序问题开始,并请求您的帮助。
-
您可以使用此方法插入到表中。在程序中分配变量的位置
create or replace PROCEDURE P_FILEUPLOAD_XML AS -- Declare the Variables P_CMTT_CODE VARCHAR2(200); P_TEXT VARCHAR2(200); P_TEXT_NAR VARCHAR2(200); BEGIN -- Set variables with a value P_CMTT_CODE := 'VALUE 1'; P_TEXT := 'VALUE 2'; P_TEXT_NAR := 'VALUE 3'; -- Insert into table INSERT INTO SPRCMNT ( SPRCMNT_CMTT_CODE, SPRCMNT_TEXT, SPRCMNT_TEXT_NAR ) VALUES ( P_CMTT_CODE, P_TEXT, P_TEXT_NAR ); EXCEPTION -- Catch error and log result WHEN OTHERS THEN dbms_output.put_line('Error:' || SQLERRM); END;
-
或者将变量传递到过程中。两者都将获得相同的结果
create or replace PROCEDURE P_FILEUPLOAD_XML(P_CMTT_CODE VARCHAR2,P_TEXT VARCHAR2, P_TEXT_NAR VARCHAR2) AS BEGIN -- Insert into table INSERT INTO SPRCMNT ( SPRCMNT_CMTT_CODE, SPRCMNT_TEXT, SPRCMNT_TEXT_NAR ) VALUES ( P_CMTT_CODE, P_TEXT, P_TEXT_NAR ); EXCEPTION -- Catch error and log result WHEN OTHERS THEN dbms_output.put_line('Error:' || SQLERRM); END;
--如何运行程序
BEGIN P_FILEUPLOAD_XML('VALUE1' , 'VALUE2', 'VALUE3'); END;