首页 文章

在oracle中创建过程

提问于
浏览
0

为什么它不起作用?我在oracle中运行它 . 我想创建一个这样的程序:

CREATE OR REPLACE PROCEDURE ME( X in NUMBER )IS  
declare 
num1 number;
BEGIN  
num1:=1;
insert into a (year) values(7);    
END;

这是错误:

PLS-00103:当期望以下之一时遇到符号“DECLARE”:开始函数编译指示过程子类型类型当前游标删除存在先于外部语言符号“开始”替换为“DECLARE”继续 . 7/5 PLS-00103:当遇到以下情况之一时遇到符号“文件结束”:(如果循环模式为空循环异常退出,则返回选择更新,同时使用<< continue close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge pipe purge

2 回答

  • 3

    DECLARE 仅用于匿名PL / SQL块和嵌套PL / SQL块 . 你不会't use it when you'重新声明一个程序 . 假设表 A 存在列 YEAR ,类似于

    CREATE OR REPLACE PROCEDURE ME( X in NUMBER )
    IS  
      num1 number;
    BEGIN  
      num1:=1;
      insert into a (year) values(7);    
    END;
    

    在语法上是有效的 . 当然,代码有各种各样的问题...你拿一个你不使用的参数,你声明一个你不使用的局部变量,程序的名称与程序没有关系做等等

  • 1

    试试吧

    CREATE OR REPLACE PROCEDURE me (x IN NUMBER)
    IS
        num1     NUMBER;
    BEGIN
        num1 := 1;    
        insert into a (year) values(7);     
    END;
    /
    

相关问题