问题1:
我编写的bat文件内容是:sqlplus system/manager@orcl @C:\insert_into_temp.sql
sqlplus system/manager@orcl @C:\update_temp.sql insert_into_temp.sql的内容是
INSERT INTO T_temp
SELECT *
FROM T_temp2;
COMMIT; update_temp.sql的内容是
UPDATE T_temp
SET T_temp.A = 'aa';
COMMIT; 这两条语句单独在bat文件里执行都没有问题,但是放在一起就只能执行第一条,请问一起执行的应该怎么写,请高手帮忙做答!
而且这两个sql问不能和在一起 问题2
bat文件如何执行一个过程,或者函数,或者包(PL SQL编写的),请问如何执行这些文件
例如: 过程定义如下, 包,函数 也同样。
create or replace procedure XX
IS
BEGIN
END;
保存的文件名为 my_pro.sqlbat文件执行sql文的时候这样写:
sqlplus system/manager@orcl @C:\update_temp.sql 运行bat的结果:只是procedure被作成了,但是procedure没有被执行请问如何调用,请高手帮忙,很着急,谢谢!
我编写的bat文件内容是:sqlplus system/manager@orcl @C:\insert_into_temp.sql
sqlplus system/manager@orcl @C:\update_temp.sql insert_into_temp.sql的内容是
INSERT INTO T_temp
SELECT *
FROM T_temp2;
COMMIT; update_temp.sql的内容是
UPDATE T_temp
SET T_temp.A = 'aa';
COMMIT; 这两条语句单独在bat文件里执行都没有问题,但是放在一起就只能执行第一条,请问一起执行的应该怎么写,请高手帮忙做答!
而且这两个sql问不能和在一起 问题2
bat文件如何执行一个过程,或者函数,或者包(PL SQL编写的),请问如何执行这些文件
例如: 过程定义如下, 包,函数 也同样。
create or replace procedure XX
IS
BEGIN
END;
保存的文件名为 my_pro.sqlbat文件执行sql文的时候这样写:
sqlplus system/manager@orcl @C:\update_temp.sql 运行bat的结果:只是procedure被作成了,但是procedure没有被执行请问如何调用,请高手帮忙,很着急,谢谢!
SELECT *
FROM T_temp2;
/update_temp.sql的内容是
UPDATE T_temp
SET T_temp.A = 'aa';
/
COMMIT; 问题(2)创建包头的语句
/
创建过程的语句
insert_into_temp.sql的内容改为下面的请试试:
INSERT INTO T_temp
SELECT *
FROM T_temp2;
COMMIT;
Exit;2、update_temp.sql的内容是create or replace procedure。
而要执行procedure,请用下面的语句:
Execute Immediate xx;
第一个加“Exit”,问题解决了,谢谢!第二个问题 “Execute Immediate ”在sqlplus可以执行
但是要执行bat文件 这句话该怎么呢
sqlplus system/manager@orcl @C:\my_pro.sql
或者做一个do_sql.sql
内容
@C:\insert_into_temp.sql;
@C:\update_temp.sql;批处理:sqlplus system/manager@orcl @C:\do_sql.sql
Begin
Execute Immediate Xx;
End;然后执行sqlplus system/manager@orcl @C:\my_pro.sql它。