我允许我自己与您联系,因为我已经尝试解决了几个小时的错误,但是我做不到。
CREATE OR REPLACE PROCEDURE PurgeMembres
AS
BEGIN
DELETE FROM Membre
WHERE MONTHS_BETWEEN(Date_adhesion, sysdate) >36;
END; /
我有错误:
ORA-06550:第6行,第1列:PLS-00103:遇到符号 “创建”
这是创建Members表的方法:
CREATE TABLE Membre(
Num INTEGER,
Nom varchar2(50) NOT NULL,
Prenom varchar2(50) NOT NULL,
Adresse varchar2(200) NOT NULL,
Telephone char(10),
Date_adhesion DATE NOT NULL,
Duree number NOT NULL,
CONSTRAINT membre_pk PRIMARY KEY (Num),
CONSTRAINT duree_c CHECK
(Duree IN (1, 3, 6, 12)) );
谢谢
我还尝试将/放在新行上,但是我仍然遇到同样的错误。当前,我在以下地址在线使用Oracle Live SQL:livesql.oracle.com/apex/f?p=590:1000:113480930147730 :::::
答案 0 :(得分:0)
您的程序没有任何问题。我建议您通过键盘输入从头开始编写它,然后看看会发生什么。
有时候,当您从第三方来源复制/粘贴过程的一部分时,可能会在过程中添加不需要的/无法预见的字符。我多次遇到这种问题。
有时它也可能与您的GUI工具有关。
以下代码肯定需要工作:
CREATE TABLE Membre( Num INTEGER, Nom varchar2(50) NOT NULL, Prenom varchar2(50) NOT NULL, Adresse varchar2(200) NOT NULL, Telephone char(10), Date_adhesion DATE NOT NULL, Duree number NOT NULL, CONSTRAINT membre_pk PRIMARY KEY (Num), CONSTRAINT duree_c CHECK (Duree IN (1, 3, 6, 12)) );
✓
CREATE OR REPLACE PROCEDURE PurgeMembres AS BEGIN DELETE FROM Membre WHERE MONTHS_BETWEEN(Date_adhesion, sysdate) >36; END; /
✓
db <>提琴here