當前位置:首頁 » 編程語言 » oracle批量執行sql工具
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

oracle批量執行sql工具

發布時間: 2023-04-06 06:51:43

A. Oracle批量更新在存儲過程中執行很慢,但單獨執行很快

  • 檢查被更新欄位和條件岩蠢態欄位是否添加索引

  • 重建索引

  • 檢查資料庫臨時表粗源空間檔槐是否已滿,已滿手動清空(新建臨時表空間,然後重新綁定,然後刪除原臨時表空間)

B. oracle批量執行sql文件為什麼快

因為可以把批量的sql進行預編譯 放在資料庫內存中 如果調用 直接向資料庫發送命令就可以了

C. 如何用PL/SQL在oracle下執行多個SQL腳本

1.把所有的文件都放在同一個目錄下,然後在命令行里執行命令:
c:>dir/b > d:/all.sql
把所有的sql文件名都輸出到一個sql文件中。
2.用UltraEdit打開生成的sql文件,alt+C切換到column mode,給所有的行前都添加一個「@」,保存。
3.在sqlplus中執行「@d:/all.sql」

D. plsql工具在oracle資料庫中使用comment語句給表加備注的時候單條執行沒問題,批量多條執行就報無效字元了

因為你寫的不是PL/SQL代碼塊而是SQL語句,比如你寫這樣的東西
select * from emp1;
select * from emp1
兩個語句執行,就會報ORA-00911: 無效字元
應該寫這樣類似的
begin
execute immediate 'comment on column emp4.job is ''emp4 job''';
execute immediate 'comment on column emp4.sal is ''emp4 sal''';
end;
寫成代碼塊,否則就只寫一條SQL不要寫多條

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

1、將你要執行的sql語句寫入一個txt文件中;

2、修改文件後綴為.sql文件;

3、使用 「source + 路徑+文件名」 註:

source與路徑之間有空格。

F. 求一個oracle執行多個sql腳本文件的批處理命令

做個vbs腳本吧,創建個記事本,後綴改成.vbs,鍵入以下代碼,保存後雙擊vbs文件即可。
-----------------------------------------------------
-----------------------------------------------------

Dim WshShell, oExec
Set WshShell = CreateObject("WScript.Shell")'創建腳本對象
Set oExec = WshShell.Exec("sqlplus -S scott/tiger @D:\a.sql")'-s是不回顯,然後跟用戶名和密碼,之後是sql語句路徑
Set oExec = WshShell.Exec("sqlplus -S scott/tiger @D:\b.sql")

-----------------------------------------------------
-----------------------------------------------------

STT@orcl->conn / as sysdba
已連接。
SYS@orcl->@d:\a.sql

SYSDATE
--------------
23-2月 -09

已用時間: 00: 00: 00.01

具體時間
-----------------
20090223 16:11:16

已用時間: 00: 00: 00.00

/*
@也可以用start替換,後面跟腳本的路徑就可以了
--a.sql中的語句如下
SELECT SYSDATE FROM al;
SELECT TO_CHAR(SYSDATE,'YYYYMMDD HH24:MI:SS') 具體時間 FROM al;
*/

G. 資料庫操作中如何批量執行多個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;

H. 如何用PL/SQL在oracle下執行多個SQL腳本

1、在打開的ie瀏覽器窗口右上方點擊齒輪圖標襪型,選擇「Internet選項」,如下圖所示:

I. 如何在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: 出現符號 ""在需要下列之一時:......(語句之間有換行符)

J. 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