【发布时间】:2022-01-11 23:53:47
【问题描述】:
我们试图删除数据库中的所有表,然后重新创建它们,但 oracle 抛出错误。错误报告是:
Error report -
ORA-06550: line 12, column 1:
PLS-00103: Encountered the symbol "CREATE"
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
代码是:
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE ' || EMPLOYEE;
EXECUTE IMMEDIATE 'DROP TABLE ' || ADDRESS;
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE != -942 THEN
RAISE;
END IF;
END;
CREATE TABLE EMPLOYEE(
EmployeeID int,
FirstName varchar(225),
LastName varchar(255),
Position varchar(255),
SSN int,
Address varchar(255),
Phone int,
AddressID int,
PRIMARY KEY (EmployeeID),
FOREIGN KEY (AddressID) REFERENCES ADDRESS(AddressID)
);
CREATE TABLE ADDRESS(
AddressID int,
Street varchar(225),
City varchar(225),
State varchar(225),
Zip int
);
我们希望对所有表都执行此操作,但到目前为止,它不适用于我们一开始尝试删除的两个表。
【问题讨论】:
标签: sql oracle if-statement compiler-errors drop-table