下面的Oracle存储过程怎么该才能正确呢?create procedure q11111
as
begin
select * from abc
go
end
execute q11111

解决方案 »

  1.   

    报错:
    ERROR line 6, col 1, ending_line 6, ending_col 3, Found 'end', Expecting: CROSS  FULL  INNER  LEFT  NATURAL  PARTITION  RIGHT   -or-   ,  JOIN  WHERE   -or-   CONNECT  GROUP  HAVING  MODEL  START   -or-   INTERSECT  MINUS  UNION   -or-   FOR  ORDER   -or-   ;
      

  2.   


    create procedure q11111
    as abc number;
    begin
    select id into abc from abc;
    end;begin
    execute q11111
    end;
      

  3.   

    一、无参程序过程语法 create or replace procedure NoParPro 
    as  ; 
    begin 

    exception     //存储过程异常 
        ; 
    end; 
      

  4.   

    在存储过程中执行查询语句是无意义的,因为结果集不知道往哪里放!oracle也不允许这么做。
      

  5.   

    create or replace procedure mypro is
    begin
      select 语句必须有into
    end mypro;
      

  6.   

    ERROR line 7, col 9, ending_line 7, ending_col 20, Found 'q11111', Expecting: (  IMMEDIATE   -or-   ;
      

  7.   

    在toad里面总是报这些错误?究竟是哪里的错误呢?
      

  8.   

    在sql编辑窗口输入:
    create or replace procedure say_hello 
    is
    begin
     dbms_output.put_line('hello,world!');
    end say_hello;编译存储过程:
    按F8或者那个左上角的小齿轮是编译,如果编译通不过,那么在名字上会显示一个红色的叉,如果通过,没有异常反应。运行存储过程:
    file->new->command window开启一个命令行,也就是进入:  sql>  这个界面。在这里运行存储过程。
    输入:exec say_hello这时候会输出:hello,world!如果控制台没有输出,是因为还需要设置一下,输入:SET SERVEROUTPUT ON。重新执行:
    exec say_hello。
      

  9.   

    运行后查看VIEW-》DBMS   OUTPUT。 
    可以看到你输出的结果。