【发布时间】:2021-05-30 03:59:52
【问题描述】:
我正在尝试使用过程CREATE_TABLE 创建表,然后使用过程PRINT_INFO 将信息插入到创建的表中,但出现异常:
错误:PROCEDURE PRINT_INFO 行/列:4/3 PL/SQL:SQL 语句 忽略行/列:4/15 PL/SQL:ORA-00942:表或视图不存在
错误:PROCEDURE CREATE_TABLE 行/列:5/3 PLS-00103:遇到 预期以下之一时的符号“CREATE”:
( begin case declare exit for goto if loop mod null pragma raise 在
这是我的代码示例:
CREATE OR REPLACE PROCEDURE PRINT_INFO
IS
BEGIN
INSERT INTO TABLE_T (TABLE_ID, MESSAGE) VALUES (1, 'Hello World!');
END PRINT_INFO;
/
CREATE OR REPLACE PROCEDURE CREATE_TABLE
IS
BEGIN
CREATE TABLE TABLE_T(
TABLE_ID NUMBER NOT NULL,
MESSAGE VARCHAR2(25),
PRIMARY KEY(TABLE_ID)
);
PRINT_INFO;
END CREATE_TABLE;
/
EXEC CREATE_TABLE;
问题可能出在哪里?如何摆脱异常?
【问题讨论】:
-
@Littlefoot 为您提供了错误的技术原因。我会更进一步,并建议没有理由编写 PL/SQL 过程来创建表。表创建应该是可以/应该使用直接 sql 完成的一次性活动。这是一个班级项目吗?我可以发誓在过去的几天里我也看到过同样的问题。