小编IHS*_*555的帖子

运行PL / SQL过程后,为什么会出现此错误:“ ORA-00922:缺少或无效的选项”?

我创建了一个具有某些属性的表Patient,例如p_name,p_surname,p_number...。我想创建一个过程以将患者从该表Patient转移到另一个表(Patient_backup),以防他的“ p_number”属性已收到输入,将其从第一个表中删除,仅保留在第二个表中。第二个表具有与第一个表相同的结构。我已经对程序进行了编码。

CREATE TABLE patient (
p_number      VARCHAR2(10) NOT NULL,
p_name            VARCHAR2(15),
p_surname         VARCHAR2(15),
p_street            VARCHAR2(20),
p_city            VARCHAR2(15)
);

CREATE TABLE patient_backup (
p_number      VARCHAR2(10) NOT NULL,
p_name            VARCHAR2(15),
p_surname         VARCHAR2(15),
p_street            VARCHAR2(20),
p_city            VARCHAR2(15)
);

CREATE [OR REPLACE] PROCEDURE transfer (p_number VARCHAR2)
AS
CURSOR k1 IS SELECT p_number FROM patient;
BEGIN
OPEN k1;
LOOP
FETCH k1 INTO p_number;
IF p_number IS NULL THEN
dbms_output.put_line('empty');
ELSE
INSERT INTO patient_backup (SELECT * FROM patient);
Execute Immediate 'Drop Table patient;';
END IF; …
Run Code Online (Sandbox Code Playgroud)

oracle plsql

0
推荐指数
1
解决办法
40
查看次数

标签 统计

oracle ×1

plsql ×1