oracle批量執行sql
Ⅰ oracle怎麼用命令執行sql文件
Oracle執行外部文件:
c:>sqlplus
user/pwd@db
sql>@new.sql
執行多個sql文件:
1.把所有的文件都放在同一個目錄下,然後在命令行里執行命令:
c:>dir/b
>
d:/1.sql
會把所有的sql文件名都輸出到一個sql文件中。
2.用UltraEdit打開生成的sql文件,alt+C切換到column
mode,給所有的行前都添加一個"@",保存。
3.在sqlplus中執行"@d:/1.sql"
如何避免'&'字元:
sql中&可以傳遞參數,但有時需要插入'&',例:
SQL>
select
'&hello'
v
from
al;
輸入
hello
的值:
hello
原值
1:
select
'&hello'
v
from
al
新值
1:
select
'hello'
v
from
al
v
-----
hello
可以使用如下方法避免:
A:
SQL>
select
chr(38)
||
'hello'
v
from
al;
V
------
&hello
B:
SQL>
set
define
off
SQL>
select
'&hello'
v
from
al;
V
------
&hello
Ⅱ oracle批量執行sql文件為什麼快
因為可以把批量的sql進行預編譯 放在資料庫內存中 如果調用 直接向資料庫發送命令就可以了
Ⅲ Oracle中怎樣一次執行多條sql語句
有時我們需要一次性執行多條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: 出現符號 ""在需要下列之一時:......(語句之間有換行符)
Ⅳ 如何用PL/SQL在oracle下執行多個SQL腳本
1:並行執行的話,可以
多開
窗口
2:串列執行多個腳本的話,可以使用把下面內部保存在1個sql腳本內容,這樣自動調用多個腳本執行
@@D:\SQL\autoExec\1.sql
@@D:\SQL\autoExec\2.sql
@@D:\SQL\autoExec\3.sql
Ⅳ oracle中怎樣執行.sql文件
建議使用plsql工具來連接Oracle資料庫進行表操作,這樣很方便的,就像使用sqlserver一樣方便
Ⅵ 如何oracle 直接一起執行多條SQL語句
一:隨便寫的沒有相關的語句的話,就在每句sql
後面加分號,
二:如果是相關的語句那就寫成,語句塊,這個就需要遵循
oracle
塊的規則
Ⅶ Oracle怎麼設置同時執行多條SQL語句
多個線程發過去,才能多條語句並發執行。單線程向OR伺服器發SQL指令的話,就應該是按順序進行,否則很多SQL的執行都會亂套,比如還沒建立表就開始追加數據什麼的。
也就是說,要並發執行SQL語句,請使用多個客戶端向伺服器發送SQL指令,或單個客戶端中多線程向伺服器發送SQL指令。也可以用定時事務來做到多個SQL並發執行。
Ⅷ 怎樣在sqlplus中批量執行sql文件
Oracle批量執行SQL文件
1:運行cmd進入命令行界面
2:進入到存放批量sql的文件夾下面
3:輸入命令 sqlplus 資料庫名/密碼@資料庫 按回車鍵
4:輸入spool 指定路徑:\a.log 按回車鍵 (此步驟的主要作用就是追蹤批量執行sql的日誌,路徑隨便寫,只要能找到就行,a.log可以隨便起名,但是必須要.log後綴)
5:@start.sql 按回車鍵(在批量sql文件夾下寫一個文件,名字叫start.sql,其中在這個文件裡面寫批量sql的文件名)
具體格式如下:@@sql的文件名.sql;
@@sql的文件名2.sql;
.......
6:spool off (此時a.log中所有日誌已經寫入完畢)
7:exit 退出sqlplus
當然只有一個sql文件,但是裡面有多個insert語句,數
Ⅸ 資料庫操作中如何批量執行多個sql文件
Oracle批量執行SQL文件 1:運行cmd進入命令行界面2:進入到存放批量sql的文件夾下面3:輸入命令 sqlplus 資料庫名/密碼@資料庫 按回車鍵4:輸入spool 指定路徑:\a.log 按回車鍵 (此步驟的主要作用就是追蹤批量執行sql的日誌,路徑隨便寫,只要能找到就行,a.log可以隨便起名,但是必須要.log後綴)5:@start.sql 按回車鍵(在批量sql文件夾下寫一個文件,名字叫start.sql,其中在這個文件裡面寫批量sql的文件名)具體格式如下:@@sql的文件名.sql; @@sql的文件名2.sql;.......6:spool off (此時a.log中所有日誌已經寫入完畢)7:exit 退出sqlplus當然只有一個sql文件,但是裡面有多個insert語句,數據量非常大,此時也可以在命令狀態下執行,前4步是一樣的,第五步就是@文件名.sql;
Ⅹ Oracle 批量插入數據怎麼做
Oracle批量插入數據可用PL/SQL的命令窗口執行。
使用工具:PL/SQL
步驟:
1、登錄PL/SQL到指定資料庫。
2、登錄後,點擊左上方「紙片」狀圖標,然後選擇「Command
Window」選項,進入命令窗口。
3、然後在本地電腦編寫insert(即插入語句),每句以逗號分隔。如圖:
4、然後為文件起名字,以.sql為文件後綴,如「執行.sql」,保存到指定路徑,如
c盤
data目錄下。
5、在打開的命令窗口下執行如下語句:
1
@c:\data\執行.sql
其中「@」為必寫內容,「c:\data\」為sql文件保存路徑,「執行.sql」為要執行的腳本文件名。
6、敲擊
回車鍵
執行,執行後會有成功提示,如圖:
7、最後去目標表查詢數據,檢驗結果成功。其中如圖的四條為新插入的數據。