向Oracle中傳入陣列,批量執行SQL語句

2021-09-08 10:56:52 字數 908 閱讀 5210

1、首先用pl/sql建立package

1

create

orreplace

package excutebatchoperate2as

3 type sqlstr_array is

table

ofvarchar2(1000) index

bybinary_integer;

4procedure excutebulkdata(sqlstr in

sqlstr_array);

5end excutebatchoperate;

2、在packagebody內建立儲存過程

1

create

orreplace

package body excutebatchoperate2as

3procedure excutebulkdata(sqlstr in

sqlstr_array)4as

5begin

6for i in

1..sqlstr.count

loop

7execute

immediate sqlstr(i);--單個語句中不能再使用分號(;)結束sql語句,否則會報ora-00911: 無效字元異常

8end

loop;

9end

excutebulkdata;

10end excutebatchoperate;

3、.net demo如下,可以去掉注釋,修改sql語句測試

1

public

static

int excutebulkdata(ilistlist)221

}22 }

示例

向Oracle中傳入陣列,批量執行SQL語句

1 首先用pl sql建立package 1 create orreplace package excutebatchoperate2as 3 type sqlstr array is table ofvarchar2 1000 index bybinary integer 4procedure e...

oracle 向儲存過程傳入陣列型別引數

最近想試試給儲存過程傳陣列引數,破費周折,在這裡與大家分享下 我用的plsql,開啟plsql,在type目錄下面,可以建立自定義的資料型別,於是用 create or replace type tab str as table of varchar2 30 建立了乙個陣列型別。接著用儲存過程 pr...

快速向oracle中批量插入資料

當oracle表主鍵為自增型別時,可採用sql指令碼快速插入一些資料來達到豐富測試場景的目的,具體如下 begin for i in 1 5000 loop insert into table name values i,col name2,col name3 commit end loop end...