Oracle中的批处理命令是什么?(就像SQL中GO一样功能的命令) 
我想在PLSQL Developer的SQL window 一次性执行完下列命令: 
--创建存储过程,判断表是否存在,如果存在则删除重建 
--==================================================== 
create or replace procedure IfOrElseExists 

       t_name  varchar2--注意,这里不能写能varchar2(10) 

as  
       local_num number; 
       local_t_name varchar2(20); 
begin 
       local_num := 0; 
       local_t_name := upper(t_name);    
       select count(*) into local_num from tab where tname=local_t_name; 
       if local_num >0 then   
          execute immediate  'drop table  ' ¦ ¦t_name; 
          dbms_output.put_line( '表成功删除 '); 
       else 
          dbms_output.put_line( '表不存在 ');    
       end if; 
end IfOrElseExists; 
--==================================================== --创建User_table表 
begin 
IfOrElseExists( 'User_table '); 
end; 
create table User_table( 
id number, 
name varchar2(20), 
logon_name varchar2(20), 
pwd varchar(16), 
role_id number 
); 
--为表各列添加注释 
comment on column User_table.id is  '用户编号 '; 
comment on column User_table.name is  '用户名 '; 
comment on column User_table.Logon_Name is  '登陆名 '; 
comment on column User_table.pwd is  '登陆密码 '; 
comment on column User_table.Role_Id is  '用户所属的角色 '; 
commit; 以上代码单独执行 第一块(建立过程)是成功的,并且可以调用,可是只要和下面的代码一起选中再执行,虽然没有提示出错,可是 
IfOrElseExists 过程是无效的. 

解决方案 »

  1.   

    hehe ...好象我没注意这个哦。关注。
      

  2.   

    分号不行,我试了!
    但是分号也有分号的功能.在PL/SQL语句块中分号是不能少的.不过问题我已经解决了.现在可以全部代码复制到 command window 窗口里运行.谢谢两位
      

  3.   

    在结束时使用"/" 把 
    begin 
    IfOrElseExists( 'User_table '); 
    end; 改成
    execute('User_table');
    复制命令到 command window 窗口中可以实现一次性将所有代码执行完毕