在oracle中一次執行多條語句

2021-07-15 05:42:53 字數 895 閱讀 1673

工作中需要一次執行多條語句,本來想直接使用sql拼接成乙個字串進行批處理,原sql如下:

string sql = "";

for(int i=0; i}

發現執行不了,經過查詢資料,發現oracle需要加begin end;字段才能執行多條語句。

修改後的sql如下:

begin

string sql = "";

for(int i=0; i}

end;

修改後的語句依然執行不了,不知道是啥原因。

最終解決方法是使用list來執行,**:

listsqlulist = new arraylist();

for(int i=0

; i if(deviceinfo.getdevice_ip()[i] != null && !deviceinfo.getdevice_ip()[i].equals(""))

}

之後把這個list傳給總的list:

list

<

string

> sqllist =

new arraylist<

string

>();

sqllist.addall(createupperdevicesql(deviceinfo, id));

然後把這個list轉成陣列傳給批處理執行:

string sqlarr = sqllist.toarray(new

string[sqllist.size()]);

return jt.batchupdate(sqlarr);

如何在Oracle中一次執行多條sql語句

有時我們需要一次性執行多條sql語句,而用來更新的sql是根據實際情況用 拼出來的 解決方案是把sql拼成下面這種形式 begin update tb vg set seq 1,vessel id jin14 vessel type track where batch number 20837 an...

Oracle 一次執行多條語句

oracle執行多條語句的時候 不能有物理換行 寫法對比 如下寫法是不成功.begin into t test id values 1 insert into t test id,values 2 end 正確的寫法 begin into t test id values 1 insert into...

如何在perl中一次執行多條shell命令

在perl中執行shell指令碼命令一般使用system 傳入乙個shell命令給system 如果執行多條shell命令豈不是要執行多個system 那麼 如何通過system 同時執行多條shell命令呢?通過 或者 來合併多條命令,如下 cmd ls l cd home xyz ls l sy...