C#一次執行多條SQL語句,Oracle11g資料庫
由於經常執行SQL
語句,如果一條一條執行效率低下。
oarclecmd.CommandText = sqlstr;
oraclecmd.ExecuteNonQuery();
sqlstr 可以寫成如下所示語句
begin
sql1;
sql2;
......
sqln;
end; //注意此處的分號很重要
然後同樣呼叫ExecuteNonQuery()
方法,可以一次執行多條sql
語句。
如何在Oracle中一次執行多條sql語句 (.net C#)
關鍵是不能換行,要加上begin ...sql... end;
每個SQL用;隔開,end後面必須加;
以下是拷貝於:http://www.cnblogs.com/teamleader/archive/2007/05/31/765943.html
有時我們需要一次性執行多條sql語句,而用來更新的sql是根據實際情況用程式碼拼出來的
解決方案是把sql拼成下面這種形式:
begin
update TB_VG set seq = 1, vessel_id = 'Jin14', vessel_type = 'TRACK' where batch_number = '20837' and train_id = '0233086';
update TB_VG set seq = 2, vessel_id = 'Jin14', vessel_type = 'TRACK' where batch_number = '20992' and train_id = '0233110';
end;
總結如下:
以begin開始,以end;結尾(end後的分號不能省),中間的每個sql語句要以分號;結尾
在實際編碼中,發現即使這樣也會有錯誤發生,把sql語句中的換行符替換成空格就可以了
比較穩妥的編碼方式是:
1、以正常的方式編寫sql,根據閱讀與編寫的需要,中間肯定會有換行符
2、在執行之前進行替換:strSql = strSql.Replace(“r\n”, ” “).Replace(‘\n’, ’ ‘);
如果不採用這種方式,可能的異常有:
ORA-00933: SQL 命令未正確結束(如果sql沒有以分號結尾)
ORA-00911: 無效字元(如果未加begin 和 end)
ORA-06550: 第x行, 第xxx列: PLS-00103: 出現符號 “end-of-file”在需要下列之一時:……(如果end後面沒有;分號)
ORA-06550: 第x行, 第xxx列: PLS-00103: 出現符號 “”在需要下列之一時:……(語句之間有換行符
相關文章
- mybatis-一次執行多條語句MyBatis
- Oracle資料庫多條sql執行語句出現錯誤時的控制方式Oracle資料庫SQL
- Oracle資料庫SQL語句執行過程Oracle資料庫SQL
- DBeaver如何一次性執行多條sql語句,原來和單條不一樣!SQL
- DM聯機執行SQL語句進行資料庫備份SQL資料庫
- 一條sql語句的執行過程SQL
- 【資料庫】SQL語句資料庫SQL
- 一條update SQL語句是如何執行的SQL
- 一條SQL更新語句是如何執行的SQL
- 一條SQL更新語句是如何執行的?SQL
- 1.4 資料庫和常用SQL語句(正文)——MySQL資料庫命令和SQL語句資料庫MySql
- Laravel 使用 sql 語句 和 sql 檔案 來建立執行資料庫遷移LaravelSQL資料庫
- 資料庫查詢優化:使用explain分析sql語句執行效率資料庫優化AISQL
- 一條更新的SQL語句是如何執行的?SQL
- 一條SQL語句在MySQL中如何執行的MySql
- 一條 SQL 查詢語句是如何執行的?SQL
- 資料庫常用操作SQL語句資料庫SQL
- 資料庫常用的sql語句大全--sql資料庫SQL
- 用一條mysql語句插入多條資料MySql
- MySQL資料庫詳解(一)SQL查詢語句是如何執行的?MySql資料庫
- 執行一條sql語句都經歷了什麼?SQL
- 一條sql語句在mysql中是如何執行的MySql
- 一條 SQL 語句在 MySQL 中是如何執行的?MySql
- 執行一條 SQL 語句,期間發生了什麼?SQL
- SQL語句執行順序SQL
- sql語句如何執行的SQL
- c# 實現定義一套中間SQL可以跨庫執行的SQL語句C#SQL
- MySQL日誌(一條sql更新語句是如何執行的)MySql
- sql語句執行緩慢分析SQL
- mysql的sql語句執行流程MySql
- SQL 語句的執行順序SQL
- 後臺執行SQL語句(oracle)SQLOracle
- mysql執行sql語句過程MySql
- Mybatis 動態執行SQL語句MyBatisSQL
- sql 正則替換資料庫語句!SQL資料庫
- 資料庫常用的sql語句彙總資料庫SQL
- GaussDB資料庫SQL系列-動態語句資料庫SQL
- MySQL系列之一條SQL查詢語句的執行過程MySql