报错: 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- ;
create procedure q11111 as abc number; begin select id into abc from abc; end;begin execute q11111 end;
一、无参程序过程语法 create or replace procedure NoParPro as ; begin ; exception //存储过程异常 ; end;
在存储过程中执行查询语句是无意义的,因为结果集不知道往哪里放!oracle也不允许这么做。
create or replace procedure mypro is begin select 语句必须有into end mypro;
ERROR line 7, col 9, ending_line 7, ending_col 20, Found 'q11111', Expecting: ( IMMEDIATE -or- ;
在toad里面总是报这些错误?究竟是哪里的错误呢?
在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。
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- ;
create procedure q11111
as abc number;
begin
select id into abc from abc;
end;begin
execute q11111
end;
as ;
begin
;
exception //存储过程异常
;
end;
begin
select 语句必须有into
end mypro;
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。
可以看到你输出的结果。