ORA-06550:第6行,第1列:PLS-00103:遇到了符号“创建”

时间:2019-02-06 15:12:12

标签: plsql

我允许我自己与您联系,因为我已经尝试解决了几个小时的错误,但是我做不到。

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 :::::

1 个答案:

答案 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