SQL*Plus中如何执行多个*.sql脚本文件 ---Oracle初学者问题 再写一个sql文件把需要执行的其他sql文件作为这个文件中的调用.@file1.sql@file2.sql...@filen.sql 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 谢谢wl3721的回答,这样工作量也不少,而且也无法避免漏掉某个sql脚本的可能,如果sql脚本数量比较少的情况下,wl3721的方法是可行的,如果太多还要检查后来写的脚本中是否漏掉了某个脚本。由于我比较懒,开始时候我还尝试用@*.sql执行所有的脚本:) 结果没有成功:(还有更好的方法吗,既能保证效率又能保证准确性(就是指不漏掉sql脚本) 可以使用DOS命令来获得所有文件名.dir . >> sqlfile.txt然后编辑SQLFILE.TXT文件,去掉无关信息,在文件名前加上@,并把SQLFILE.TXT改名为SQLFILE.SQL就可以了.这样执行@SQLFILE.SQL就相当于批处理文件了. DOS命令总会用的吧?在[开始]-->[运行]中填入CMD,按[确定]就是DOS窗口,在DOS窗口中输入 阿涛的方法很好的解决了容易漏掉sql脚本的问题,表示感谢但是我觉得效率还是不高, 不要怪我太挑剔啊,只能怪我太懒,嘿嘿还有更好的方法吗??? 为什么要用SQL PLUS,那个工具好难用 To:prettylife(风过留痕)不用Sql*Plus那用什么工具好呢?能很好完成上面的任务吗?? 在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 就可以了 dir *.sql 不可以吗 命令行窗口又可以复制的 很方便的 编个程序,生成*.sql文件的列表,然后再每一行前面加个@,呵呵。很easy的 oracle每秒钟事务提交数过多,170-180/s 关于主键的问题 存储过程+游标问题(在线等)。。谢谢!! 游标for loop问题 合并行的問題 求一个触发器的写法 请教大家怎么才能在oracle里面来执行一个字符串表示的sql语句呢? 为什么PROC 编译出来的程序那么大 ?有8M 阿 ?有办法缩小字节吗 ?(源程序不大) 存储过程不能执行?? 使用ADO向ORACLE的BLOB字段中存放大文件出现的问题? 端口问题!?为什么adsl的客户端不能访问内网的oracle服务器?高分有赠! 存储过程中根据查询结果创建表,对该表编辑一些数据,最后返回这些数据,怎么做?
dir . >> sqlfile.txt
然后编辑SQLFILE.TXT文件,去掉无关信息,在文件名前加上@,并把SQLFILE.TXT改名为SQLFILE.SQL就可以了.这样执行@SQLFILE.SQL就相当于批处理文件了.
在[开始]-->[运行]中填入CMD,按[确定]就是DOS窗口,在DOS窗口中输入
commit;
/
update fnd_user b set b.description='OKOK' where a.user_id=2;
commit;
/然后在SQL PLUS下:
SQL> START 'C:\文件名.txt';已更新 1 行。
提交完成。
提交完成。已更新 1 行。
提交完成。
提交完成。
现在你重新写一个脚本 c.sql 其中得内容如下
~~~~~~~~~~~~~~~
@@a.sql
@@b.sql
~~~~~~~~~~~~~~
然后把c.sql放在a.sql b.sql 得同一个目录 在sqlplus下执行 @c.sql 就可以了
很easy的