oracle如何执行文件 oracle怎么执行

如何使用oracle存储过程执行外部的sql脚本文件?你把脚本内容直接在存储过程中实现,然后利用job去定时调度就好了 。
如何利用BAT文件登陆OracleSql并执行多个sql脚本PLSQL语句?首先,做一个简单的sql文件(log.sql) 。
在这个SQL文件中我们创建了一个表 。
接下来,我们来建一个bat批处理文件(log.bat) 。
在这个bat文件里面我们调用绝对路径的sql文件,并将执行过程及结果输出到log.txt文件中 。
最后,我们运行bat文件,执行多个sql脚本plsql语句 。
bat文件调用数据库中的存储过程:
假设数据库中一个存储过程 , 名称为Produce_log
我们只需要修改独立的sql文件如下即可:
execute Produce_log;
exit;
oracle package body怎么执行?。?/h2>包只是作为 程序的一个载体而已 , 你要运行,当然是去调用它!
包里面可以包含函数、过程等,你可以开发程序时候调用包里面的这些程序!没有听说过包怎么运行的道理!
就像电视机(包)可以用来看电视,但是你不去打开它(调用包),它就没有作用!
楼下的明显误导别人?。卫床问担恐挥邪锩娴某绦虿庞胁问饔冒锩婀痰姆椒ㄈ缦拢?
begin
exec 包名.过程名();
end;
函数的调用就不用我写了吧!
oracle怎么执行xml文件create table inputfile (
filename varchar2(30),
xmlcontentxmltype,
sqlcontentvarchar2(3000)
);
create or replace directory TESTFILE as 'D:\work\oralce\';
create or replace procedure alter_table (pi_file_name in varchar2)
is
filehandle utl_file.file_type;
filebuffer varchar2(32767);
l_clobclob;
docDBMS_XMLDOM.DOMDocument;
CDATAVARCHAR2(3000);
begin
filehandle := utl_file.fopen('TESTFILE',pi_file_name,'R');
IF utl_file.is_open(filehandle) THEN
dbms_output.put_line('file is open!');
END IF;
loop
begin
utl_file.get_line(filehandle,filebuffer);
dbms_output.put_line(filebuffer);
l_clob := l_clob||filebuffer;
EXCEPTION
WHEN no_data_found THEN
--dbms_output.put_line('EXCEPTION0:'||SUBSTR(SQLERRM, 1, 100));
exit;
WHEN OTHERS THEN
dbms_output.put_line('EXCEPTION1:'||SUBSTR(SQLERRM, 1, 100));
end;
end loop;
--doc := DBMS_XMLDOM.newDOMDocument(xmltype.extract(XMLType(l_clob),'/sqls/sql'));
cdata:=xmltype.extract(XMLType(l_clob),'/sqls/sql').getClobVal();
insert into inputfile(FILENAME, XMLCONTENT,sqlcontent )
values(pi_file_name, XMLType(l_clob),replace(replace(replace(CDATA,'sql![CDATA[--',''),']]/sql',''),'/',chr(10)||'/'||chr(10)));
utl_file.fclose(filehandle);
IF utl_file.is_open(filehandle) THEN
dbms_output.put_line('file is open!');
else
dbms_output.put_line('file is close!');
END IF;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('EXCEPTION2:'||SUBSTR(SQLERRM, 1, 100)) ;
end;
/
exec alter_table('myTable.xml');
sql语句会去inputfile.sqlcontent.
循环取出值,然后execute immediate(sql);
稍微做些微调即可 。
oracle怎么用命令执行sql文件Oracle执行外部文件:
c:sqlplus
user/pwd@db
sql@new.sql
执行多个sql文件:
1.把所有的文件都放在同一个目录下,然后在命令行里执行命令:
c:dir/b
d:/1.sql
会把所有的sql文件名都输出到一个sql文件中 。
2.用UltraEdit打开生成的sql文件,alt C切换到column
mode,给所有的行前都添加一个"@",保存 。
3.在sqlplus中执行"@d:/1.sql"
如何避免''字符:
sql中可以传递参数,但有时需要插入'' , 例:
SQL
select
'hello'
v
from
dual;
输入
hello
的值:
hello
原值
1:
select
'hello'
v
from
dual
新值
1:
select
'hello'
v
【oracle如何执行文件 oracle怎么执行】from
dual
v
-----
hello
可以使用如下方法避免:
A:
SQL
select
chr(38)
||
'hello'
v
from
dual;
V
------
hello
B:
SQL
set
define
off
SQL
select
'hello'
v
from
dual;
V
------
hello
在oracle 存储过程中,怎么执行bat文件1. 授于test用户文件读写和执行命令oracle如何执行文件的权限
SQLexec dbms_java.grant_permission('TEST','SYS:java.io.FilePermission','ALL FILES','read,write,execute,delete');
SQLexec dbms_java.grant_permission('TEST','java.lang.RuntimePermission','*','writeFileDescriptor' );
2. 建立java source
CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED "bb" as import java.io.*;
import java.lang.*;
import java.util.*;
import java.sql.*;
import oracle.sql.*;
public class bb
{
public static void invoke_exe() throws IOException
{
Process p=Runtime.getRuntime().exec("d:/exp_74.bat");--注意/符号
try
{
p.waitFor();
}catch(InterruptedException ie){System.out.println(ie);}
}
}
/
3. 建立调用java sourceoracle如何执行文件的存储过程CALL_BB
create or replace procedure CALL_BB
as
language java
name 'bb.invoke_exe()';
/
4. 执行CALL_BB即可oracle如何执行文件;
oracle如何执行文件的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于oracle怎么执行、oracle如何执行文件的信息别忘了在本站进行查找喔 。

    推荐阅读