1. 执行一个SQL脚本文件(两种方式)
1)SQL>start file_name
2)SQL>@ file_name
2.@与@@的区别是什么?
@等于start命令,用来运行一个sql脚本文件。
@命令调用当前目录下的,或指定全路径,或可以通过SQLPATH环境变量搜寻到的脚本文件。该命令使用是一般要指定要执行的文件的全路径,否则从缺省路径(可用SQLPATH变量指定)下读取指定的文件。
@@用在sql脚本文件中,用来说明用@@执行的sql脚本文件与@执行的SQL文件在同一目录下,而不用指定@@要执行sql脚本文件的全路径,也不是从SQLPATH环境变量指定的路径中寻找sql脚本文件,该命令一般用在脚本文件中。
如:在/tmp目录下有文件test1.sql和test2.sql,test1.sql脚本文件的内容为:
@@test2.sql - - 相当于@/tmp/test2.sql
则我们在sql*plus中,这样执行:
SQL> @/tmp/test1.sql
3.输出脚本执行日志
spool /tmp/t.log
@t.sql
spool off