如何创建oracle官网账号密码是什么oracle bat执行sql

oracle bat执行sql

 

项目组有一个需求: 

在以XXX开头的所有表空间中,创建名为test表,并将其整理成.bat文件,经过一天的折腾,不断询问度娘,终于完成任务,下面对过程做个小结。 

 

1oracle账号.bat文件 

Sql代码  

set/p dbname=请输入数据库实例名并按回车:  

set/p username=请输入用户名并按回车:  

set/p password=请输入密码并按回车:  

sqlplus %username%/%password%@%dbname% @init.sql %username% %password% %dbname%   

 

2.init.sql文件 

注:&1 &2 &3的值对应%username% %password% %dbname% 

 

Sql代码  

spool logs/log.log   

conn &1/&2@&3;  

@@test.sql ;  

spool off;  

 

3.test.sql文件 

注意:test.sql的块语句的最未尾,添加斜杠

Sql代码  

declare  

begin  

  for t in (select 'drop table '||tablespace_name||'.'||table_name drop_table  

            from  all_tables  

            where tablespace_name like 'XXX%' and table_name=upper('TEST')) loop  

      –删除表  

      execute immediate t.drop_table;  

  end loop;  

    

  for t in (select 'create table ' || tablespace_name ||'.TEST (   

  id int ,  

  name varchar(2)  

    

  )' c_table   

      from USER_TABLESPACES WHERE tablespace_name like 'XXX%') Loop           

    –创建表  

    execute immediate t.c_table;  

  end loop;  

end;  

/  

 

此条目发表在oracle metalink账号分类目录,贴了标签。将固定链接加入收藏夹。