分類: oracle
d:\test.sql指令碼如下:
[sql]view plain
copy
select
&1 from
&2;
exit;
執行時這樣傳引數:sqlplus "scott/tiger@test" @d:\test.sql sysdate dual
注意:引數必須用&[1-9]表示,不然傳不進去,會提示讓手動輸入引數
[sql]view plain
copy
c:\>sqlplus
"scott/tiger@test"
@d:\test.sql sysdate dual
d:\>sqlplus "scott/tiger@test"
@d:\test.sql sysdate dual
sql*plus: release 11.2.0.1.0 production on
星期二 11月 1 21:59:00 2011
rights reserved.
連線到:
oracle database
11g enterprise edition release 11.2.0.1.0 - production
with
the partitioning, olap, data mining
andreal
原值 1: select
&1 from
&2
新值 1: select
sysdate
from
dual
sysdate
--------------
01-11月-11
從 oracle database
11g enterprise edition release 11.2.0.1.0 - production
with
the partitioning, olap, data mining
andreal
開 d:\>
如果指令碼中有重複用到相同的值,如果&1=&2:
d:\tes2.sql
[sql]view plain
copy
delete
scott.emp
where
no=&1
ordeptno=&2;
commit
;
執行時,就必須傳2個引數:
[sql]view plain
copy
sqlplus
"scott/tiger@test"
@d:\test2.sql 10 10
小竅門: 這時用procedure就可以不用傳多個相同的引數,則只用傳1個引數:
d:\test3.sql
[sql]view plain
copy
declare
var_no number:=&1;
begin
delete
scott.emp
where
no=var_no
ordeptno=var_no;
commit
; end
;
sqlplus "scott/tiger@test" @d:\test3.sql 10
批處理中set 設定變數的用法
oracle異機遷移全過程
參考:
Shell 執行指令碼檔案方法
bin bash printf s n hello world bin sh test.sh bin bash test.shchmod x test.sh 賦予指令碼檔案可執行許可權 test.sh 直接執行指令碼檔案以上執行方式都是在當前shell下開啟乙個子shell程序執行指令碼的,這樣在指...
定時任務執行指令碼檔案
test.sh指令碼 find dir maxdepth 1 mtime 92 name exec rm rf mtime 92 設定時間為91天前 name mail 12 設定檔名稱中包含mail1或者mail2 exec rm rf 查詢完畢後執行刪除操作 r 刪除資料夾 f 強制刪除 固定格...
docker中mysql執行指令碼檔案
從資料庫中匯出指令碼檔案,獲取 sql檔案 將sql檔案匯入虛擬機器中 啟動docker,執行mysql容器 將sql檔案複製到mysql容器中的 home 目錄下 1。查詢mysql容器id docker ps複製檔案到mysql容器中 docker cp mnt hgfs sql 容器id ho...