sqlplus脚本
用PL/SQL在oracle下执行多个SQL脚本的方法:
PL/SQL developer----->File------>New---->command window
然后在弹出的窗口里依次执行:SQL> @f:\abc\a.sql;SQL> @f:\abc\b.sql;SQL> @f:\abc\c.sql;
SQL*Plus 中执行多个*.sql脚本文件的方法:
1、在SQL*Plus中执行单个sql脚本文件: SQL>@c:\aaa.sql ;
2、在SQL*Plus中执行多个sql脚本文件: 比如你要执行得2个sql脚本 a.sql 和 b.sql 现在你重新写一个脚本 c.sql 其中得内容如下 @@a.sql @@b.sql 然后把c.sql放在a.sql和 b.sql 得同一个目录中即可,然后在sqlplus下执行:SQL>@c.sql 就可以了。
⑵ 使用sqlplus怎么导入sql脚本
比如:sql脚本所在目录以及名称为/home/oracle/0601.sql
导入:@/home/oracle/0601.sql
⑶ 如何用sqlplus执行sql脚本,且让出错后及时退出sqlplus
你先联接上sqlplus后,再执行代码,这样只要不是sqlplus内部程序错误,就不会退出的。
⑷ 如何在sqlplus中运行创建触发器的脚本
脚本编辑好以后放到一个目录下,脚本名比如create.sql,最好是英文目录,比如c盘的data目录。
其中创建的脚本必须不能有错误,否则编译肯定无法通过,然后要以分号结尾。
然后cmd进入data目录,登录sqlplus到指定数据库。
执行
@create.sql
⑸ sqlplus 执行脚本文件时如何传参数
d:\test.sql脚本如下:
[sql] view plain
select &1 from &2;
exit;
执行时这样传参数:sqlplus "scott/tiger@test" @d:\test.sql sysdate al
注意:参数必须用&[1-9]表示,不然传不进去,会提示让手动输入参数
[sql] view plain
C:\>sqlplus "scott/tiger@test" @d:\test.sql sysdate al
D:\>sqlplus "scott/tiger@test" @d:\test.sql sysdate al
SQL*Plus: Release 11.2.0.1.0 Proction on 星期二 11月 1 21:59:00 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Proction
With the Partitioning, OLAP, Data Mining and Real Application Testing options
原值 1: select &1 from &2
新值 1: select sysdate from al
SYSDATE
--------------
01-11月-11
从 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Proction
With the Partitioning, OLAP, Data Mining and Real Application Testing options 断
开
D:\>
如果脚本中有重复用到相同的值,如果&1=&2:
d:\tes2.sql
[sql] view plain
delete scott.emp where no=&1 or deptno=&2;
commit;
执行时,就必须传2个参数:
[sql] view plain
sqlplus "scott/tiger@test" @d:\test2.sql 10 10
小窍门: 这时用procere就可以不用传多个相同的参数,则只用传1个参数:
d:\test3.sql
[sql] view plain
declare
var_no number:=&1;
begin
delete scott.emp where no=var_no or deptno=var_no;
commit;
end;
sqlplus "scott/tiger@test" @d:\test3.sql 10
⑹ SQL*Plus中怎么执行多个*sql脚本文件
1.在
SQL*Plus
中执行单个sql
脚本文件
:
SQL>@c:\aaa.sql
2.在SQL*Plus中执行多个sql脚本文件:
比如你要执行得2个sql脚本
a.sql
和
b.sql
现在你重新写一个脚本
c.sql
其中得内容如下
@@a.sql
@@b.sql
然后把c.sql放在a.sql和
b.sql
得同一个目录中即可,然后在sqlplus下执行:SQL>@c.sql
就可以了.
当然有具体路径的加上路径即可,如下:
SQL>
@E:\c.sql注意事项:
1>.sql文件都在一个目录中;2>.尤其是c.sql文件中直接写:
@@a.sql
@@b.sql
即可。
⑺ sqlplus创建存储过程脚本不生效
创建过程中有语法错误。
在存储体中每条SQL语句都是以分号结尾的,而在SQL控制台中在执行脚本时,一遇到分号就会执行SQL语句,这样的话若是该条语句并不是正确的执行语句的话,那么就会报错。
⑻ 如何让sqlplus登录时自动执行某个脚本
有三种方法:
1.建一个login.sql或者修改glogin,sql 但是你没权限所以 算了。
2.设置一个环境变量SQLPATH 这个环境变量指向你的脚本。
3.把你要跑的脚本放入你dos窗口的启动路径下,就是敲完cmd 后 出来的窗口的最初的路径。
⑼ SQL*Plus 中如何执行多个*.sql脚本文件
1.在SQL*Plus中执行单个sql脚本文件: SQL>@c:\aaa.sql 2.在SQL*Plus中执行多个sql脚本文件: 比如你要执行得2个sql脚本 a.sql 和 b.sql 现在你重新写一个脚本 c.sql 其中得内容如下 @@a.sql @@b.sql 然后把c.sql放在a.sql和 b.sql 得同一个目录中即可,然后在sqlplus下执行:SQL>@c.sql 就可以了. 当然有具体路径的加上路径即可,如下: SQL> @E:\c.sql注意事项: 1>.sql文件都在一个目录中;2>.尤其是c.sql文件中直接写: @@a.sql @@b.sql 即可。
⑽ java类中执行sqlplus脚本
写成bat文件,改写成批处理脚本,使用Java的Runtime 执行。举例如下:
此实例来自《Java核心技术》卷一
classExecDemo{
publicstaticvoidmain(Stringargs[]){
Runtimer=Runtime.getRuntime();
Processp=null;
try{
p=r.exec("notepad");
}catch(Exceptione){
System.out.println("Errorexecutingnotepad.");
}
}
}