数据库Oracle 8i 9i 11g 跑脚本

关于跑表角本问题这里给大家介绍一下

 

 

 

Call pro_t_report_yfjz(2007); Call pro_t_report_yfjz(2006); Call pro_t_report_yfjz(2005); Call pro_t_report_yfjz(2004); Call pro_t_report_yfjz(2003); Call pro_t_report_yfjz(2002); Call pro_t_report_yfjz(2001); Call pro_t_report_yfjz(2000); commit;

 

 

 

 

 

 

ssss

会在SQL*Plus中执行单个sql脚本文件
SQL>@c:\aaa.sql
但是现在有大量sql脚本,这样一个一个去执行不但效率不高,而且很容易漏掉。

 
再写一个sql文件把需要执行的其他sql文件作为这个文件中的调用.
@file1.sql
@file2.sql
...
@filen.sql
 
=======================================
可以使用DOS命令来获得所有文件名.
dir . >> sqlfile.txt
然后编辑SQLFILE.TXT文件,去掉无关信息,在文件名前加上@,并把SQLFILE.TXT改名为SQLFILE.SQL就可以了.这样执行@SQLFILE.SQL就相当于批处理文件了
 
=======================================
在c盘下编辑一个文本文件,保存脚本:

update fnd_user a set a.description='OK' where a.user_id=1;
commit;
/
update fnd_user b set b.description='OKOK' where a.user_id=2;
commit;
/

然后在SQL PLUS下:
SQL> START 'C:\文件名.txt';

已更新 1 行。
提交完成。
提交完成。

已更新 1 行。
提交完成。
提交完成。
=======================================
比如你要执行得2个sql脚本  a.sql b.sql
现在你重新写一个脚本 c.sql  其中得内容如下
~~~~~~~~~~~~~~~
@@a.sql
@@b.sql
~~~~~~~~~~~~~~
然后把c.sql放在a.sql b.sql 得同一个目录 在sqlplus下执行 @c.sql 就可以了

 

创建表空间

 

create tablespace "sqyl" datafile 'C:\Oracle\ORADATA\orcl\sqyl_db.dbf' size 60M autoextend on next 50M maxsize unlimited;
create tablespace "sqyl_temp" datafile 'C:\Oracle\ORADATA\orcl\sqyl_temp.dbf' size 50M temporary;
create public rollback segment "rd1_sqyl" 
tablespace "sqyl" storage (initial 10M next 25M optimal 50M minextents 2 maxextents 1210);
alter rollback segment "rd1_sqyl" online;

 

创建用户

 

create user xxx profile default IDENTIFied BY xxx
default tablespace "xxxx" temporary tablespace "xxx_temp"
account unlock;
grant connect to xxxx with admin option;
grant dba to xxx with admin option;
alter user xxx default role all;
commit;

 

 

 

 

你可能感兴趣的:(oracle,sql,C++,c,脚本)