如何在Oracle中一次执行多条sql语句
发布网友
发布时间:2022-04-29 17:30
我来回答
共2个回答
懂视网
时间:2022-04-29 21:52
create or replace package excuteBatchOperate
2 as
3 type sqlStr_Array is table of varchar2(1000) index by binary_integer;
4 procedure excuteBulkData(sqlStr in sqlStr_Array);
5 end excuteBatchOperate;
2、在packagebody内创建存储过程
1 create or replace package body excuteBatchOperate
2 as
3 procedure excuteBulkData(sqlStr in sqlStr_Array)
4 as
5 begin
6 for i in 1..sqlStr.count loop
7 execute immediate sqlStr(i);
8 end loop;
9 end excuteBulkData;
10 end excuteBatchOperate;
3、.Net demo如下,可以去掉注释,修改SQL语句测试
1 public static int excuteBulkData(IList<string> list)
2 {
3 using (ODAC.OracleConnection conn = new ODAC.OracleConnection(connStr))
4 {
5 using (ODAC.OracleCommand comm = conn.CreateCommand())
6 {
7 //IList<string> list = new List<string>();
8 //list.Add("insert into parts1(pname) values(‘sadfsa‘)");
9 //list.Add("insert into parts1(pnum,pname) values(22222,‘rrrrrr‘)");
10 conn.Open();
11 comm.CommandType = CommandType.StoredProcedure;
12 comm.CommandText = "excuteBatchOperate.excuteBulkData";
13 ODAC.OracleParameter Param1 = new
14 ODAC.OracleParameter(@"v_string", ODAC.OracleDbType.Varchar2);
15 Param1.Direction = ParameterDirection.Input;
16 Param1.CollectionType = ODAC.OracleCollectionType.PLSQLAssociativeArray;
17 Param1.Value = list.ToArray();
18 comm.Parameters.Add(Param1);
19 return comm.ExecuteNonQuery();
20 }
21 }
22 }
示例
向Oracle中传入数组,批量执行SQL语句
标签:
热心网友
时间:2022-04-29 19:00
1、将你要执行的sql语句写入一个txt文件中;
2、修改文件后缀为.sql文件;
3、使用 “source + 路径+文件名” 注:
source与路径之间有空格。
如何在Oracle中一次执行多条sql语句
1、以正常的方式编写sql,根据阅读与编写的需要,中间肯定会有换行符 2、在执行之前进行替换:strSql = strSql.Replace("r\n", " ").Replace('\n', ' ');如果不采用这种方式,可能的异常有:ORA-00933: SQL 命令未正确结束(如果sql没有以分号结尾)ORA-00911: 无效字符(如果未加begin 和 ...
如何在Oracle中一次执行多条sql语句
多条sql之间用 ; 分隔 然后全选,点击运行,就可以了 select sysdate from dual;select sysdate from dual;select sysdate from dual;
Oracle怎么设置同时执行多条SQL语句
多个线程发过去,才能多条语句并发执行。单线程向OR服务器发SQL指令的话,就应该是按顺序进行,否则很多SQL的执行都会乱套,比如还没建立表就开始追加数据什么的。也就是说,要并发执行SQL语句,请使用多个客户端向服务器发送SQL指令,或单个客户端中多线程向服务器发送SQL指令。也可以用定时事务来做到多...
如何用PL/SQL在oracle下执行多个SQL脚本?
1.把所有的文件都放在同一个目录下,然后在命令行里执行命令:c:>dir/b > d:/all.sql 把所有的sql文件名都输出到一个sql文件中。2.用UltraEdit打开生成的sql文件,alt+C切换到column mode,给所有的行前都添加一个“@”,保存。3.在sqlplus中执行“@d:/all.sql”...
怎么用Oracle 存过中执行多个查询SQL 并返回结果,SQL和返回结果都存在一...
2,2,2,2)));解决方案二:多表存储结果思路:主子表,先创建一个表只用来存SQL,另外一个表存SQL的结果,大致如下:create t_sql(id number,a varchar2(3000));create t_sql_result(id number,col1 varchar2(400),col2 varchar2(400),...colN varchar2(400));如果所有...
oracle mybatis一次执行多条sql,提示SQL命令未正确结束
1、SQL上下文就是不允许分号结尾,你都发现规律了 2、PL/SQL上下文可以批量而且必须带分号结尾:beginalter session force parallel query parallel 8;select * from c_tbtranslateconfig where intdel=0;alter session disable parallel query;end;把上文作为整个字符串传给MyBatis即可,但问题是select查询...
java 在Oracle怎么一次执行多条sql语句,求大神!
批了执行SQL最好的办法是采用事务机制。具体百度下Java事务,以下是抄来的简单例子。public int delete(int sID) { dbc = new DataBaseConnection(); Connection con = dbc.getConnection(); try { con.setAutoCommit(false);// 更改JDBC事务的默认提交方式 dbc.executeUpdate("delete from bylaw ...
oracle 如何连续执行多条sql 语句
可以建立一个脚本文件,然后在执行脚本文件就可以了
如何用PL/SQL在oracle下执行多个SQL脚本?
1:并行执行的话,可以多开窗口2:串行执行多个脚本的话,可以使用把下面内部保存在1个sql脚本内容,这样自动调用多个脚本执行@@D:\SQL\autoExec\1.sql@@D:\SQL\autoExec\2.sql@@D:\SQL\autoExec\3.sql
如何在oracle数据表中一次性插入多条记录?
如果是从其他的表导入那么用insert into+表名(字段)(字段入围全部可以不写)+as select+字段+from+数据来源表名 where+条件;(注意:前后字段顺序一致)如果从外部表导入,那么就没什么问题sqllar导入。如果是需要手动的输入,那么我建议就建立外部表,然后用sqllar去倒,可以每次输入都同时输入一张...