块分为4种:无名块,带名字的内容块,子程序,触发器.问问
(1)普通无名块可以声明存储过程或函数吗?如果可以请给个例.(书上说是可以的)
(2)带标记(或带名字)的程序块怎么声明?
例:下面这个是无名块,书上说有一种带标记的无名块.然后声明了以后怎么用?
declare
begin
exception
end;

解决方案 »

  1.   

    declare
    a number:=1;
    begin
    while(a<10)loop
    <<innerblock>>
      declare
        b number;
      begin
        b:=a;
        dbms_output.put_line(b);
      end innerblock;
    a:=a+1;
    end loop;
    end;
      

  2.   

    内部块声明为innerblock(可以换成别的名称),可以有exception部分
    declare
    a number:=1;
    begin
    while(a<10)loop
    <<innerblock>>
      declare
        b number;
      begin
        b:=a;
        dbms_output.put_line(b);
      end innerblock;
    a:=a+1;
    end loop;
    end;
      

  3.   

    declare
    a number:=1;
    begin
    while(a<10)loop
    <<innerblock>>
      declare
        b number;
      begin
        b:=a;
        dbms_output.put_line(b);
      end innerblock;
    a:=a+1;
    end loop;
    end;