工作中需要一次執行多條語句,本來想直接使用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...