【问题标题】:ORA-06550: line 6, column 1: PLS-00103: Encountered the symbol "CREATE"ORA-06550:第 6 行,第 1 列:PLS-00103:遇到符号“CREATE”
【发布时间】:2019-02-06 15:12:12
【问题描述】:

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

CREATE OR REPLACE PROCEDURE PurgeMembres 
AS 
BEGIN   
   DELETE FROM Membre
   WHERE MONTHS_BETWEEN(Date_adhesion, sysdate) >36;     
END; /

我有错误:

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

这是成员表的创建:

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

【问题讨论】:

  • 欢迎来到 SO,请尽可能详细地说明您面临的问题,以便其他人更好地帮助您。
  • @jimmy8ball 你好,我认为我的问题是由于语法错误,因为这个错误是在我的所有其他函数和过程中发现的,如下所示
  • 好的,但是你想在工作流程方面做什么?
  • 这里,目标是让 Date_adhesion 大于 36 个月
  • 您使用哪个工具来运行 CREATE PROCEDURE 语句?通常/ 需要单独一行(至少使用默认的 Oracle 工具)

标签: plsql


【解决方案1】:

您的程序没有问题。我建议你通过键盘输入从头开始编写它,看看会发生什么。

当您从第三方来源复制/粘贴部分程序时,有时可能会在您的程序中添加不需要/无法预见的字符。我多次遇到这种问题。

它有时也可能与您的 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

【讨论】:

  • 即使我复制(不是复制和粘贴)我的表和函数的创建,我仍然有同样的错误
  • 您使用的是哪个编辑器?你试过用我们的 C/P 键盘写吗?
  • 我使用 Visual Studio 代码,但听从您的建议(不要复制和粘贴),我仍然有同样的错误
  • 你一定是在开玩笑。同一段代码对我有用,而不对你有用?认真!!!
猜你喜欢
  • 1970-01-01
  • 2021-02-16
  • 2018-04-12
  • 1970-01-01
  • 1970-01-01
  • 2016-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多