Oracle執(zhí)行外部文件:
創(chuàng)新互聯(lián)是專業(yè)的環(huán)翠網(wǎng)站建設公司,環(huán)翠接單;提供成都做網(wǎng)站、成都網(wǎng)站建設,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行環(huán)翠網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
c:sqlplus
user/pwd@db
sql@new.sql
執(zhí)行多個sql文件:
1.把所有的文件都放在同一個目錄下,然后在命令行里執(zhí)行命令:
c:dir/b
d:/1.sql
會把所有的sql文件名都輸出到一個sql文件中。
2.用UltraEdit打開生成的sql文件,alt+C切換到column
mode,給所有的行前都添加一個"@",保存。
3.在sqlplus中執(zhí)行"@d:/1.sql"
如何避免''字符:
sql中可以傳遞參數(shù),但有時需要插入'',例:
SQL
select
'hello'
v
from
dual;
輸入
hello
的值:
hello
原值
1:
select
'hello'
v
from
dual
新值
1:
select
'hello'
v
from
dual
v
-----
hello
可以使用如下方法避免:
A:
SQL
select
chr(38)
||
'hello'
v
from
dual;
V
------
hello
B:
SQL
set
define
off
SQL
select
'hello'
v
from
dual;
V
------
hello
Oracle RDBMS執(zhí)行每一條SQL語句,都必須經(jīng)過Oracle優(yōu)化器的評估。所以,了解優(yōu)化器是如何選擇(搜索)路徑以及索引是如何被使用的,對優(yōu)化SQL語句有很大的幫助。Explain可以用來迅速方便地查出對于給定SQL語句中的查詢數(shù)據(jù)是如何得到的即搜索路徑(我們通常稱為Access Path)。從而使我們選擇最優(yōu)的查詢方式達到最大的優(yōu)化效果。
1.1 、安 裝
要使用EXPLAIN首先要執(zhí)行相應的腳本,創(chuàng)建出Explain_plan表。
具體腳本執(zhí)行如下:
$ORACLE_HOME/rdbms/admin/utlxplan.sql (UNIX) 該腳本后會生成一個表這個程序會創(chuàng)建一個名為plan_table的表。
1.2 、使用
常規(guī)使用語法:
explainPLAN[SETSTATEMENT_ID[=]stringliteral][INTOtable_name]
FORsql_statement其中:STATEMENT_ID:是一個唯一的字符串,把當前執(zhí)行計劃與存儲在同一PLAN中的其它執(zhí)行計劃區(qū)別開來。
TABLE_NAME:是plan表名,它結構如前所示,你可以任意設定這個名稱。
SQL_STATEMENT:是真正的SQL語句。
比如:SQLexplainplansetstatement_id='T_TEST'forselect*fromt_test;SQLExplained
執(zhí)行下面語句可以查詢到執(zhí)行計劃
方法如下:
1:運行cmd進入命令行界面
2:進入到存放批量sql的文件夾下面
3:輸入命令
sqlplus
數(shù)據(jù)庫名/密碼@數(shù)據(jù)庫
按回車鍵
4:輸入spool
指定路徑:\a.log
按回車鍵
(此步驟的主要作用就是追蹤批量執(zhí)行sql的日志,路徑隨便寫,只要能找到就行,a.log可以隨便起名,但是必須要.log后綴)
5:@start.sql
按回車鍵(在批量sql文件夾下寫一個文件,名字叫start.sql,其中在這個文件里面寫批量sql的文件名)
具體格式如下:@@sql的文件名.sql;
@@sql的文件名2.sql;
6:spool
off
(此時a.log中所有日志已經(jīng)寫入完畢)
7:exit
退出sqlplus
當然只有一個sql文件,但是里面有多個insert語句,數(shù)據(jù)量非常大,此時也可以在命令狀態(tài)下執(zhí)行,前4步是一樣的,第五步就是@文件名.sql;