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 过程是无效的.
我想在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 过程是无效的.
解决方案 »
- ORACLE配置失败
- 配置oracle监听的问题
- [安装]一个非常详细的Oracle10.2在Red Hat Linux4 上的安装文档
- 冲动是魔鬼-纪念人生第二次辞职,并提个小小的问题(关于oracle结构)
- [求助]一个包含between..and语句的sql,结果因参数不同出问题
- 用0racle必须插网线吗?
- 怎样调用存储过程在sqlplus中?
- 谁知道这个错误号的详细描述
- [求助]为何我的Oracle 8i运行程序时提示“Jrew.exe 应用程序错误”?
- 关于ORACLE认证的问题
- 如何把excel文件数据导入到oracle数据库
- "Oracle Database Configuration Assistant" 失败 如何解决(菜鸟问题)
begin
IfOrElseExists( 'User_table ');
end; 改成
execute('User_table');
复制命令到 command window 窗口中可以实现一次性将所有代码执行完毕