d:\test.sql腳本如下:
[sql] view plain
select &1 from &2;
exit;
執行時這樣傳參數:sqlplus "scott/tiger@test" @d:\test.sql sysdate al
注意:參數必須用&[1-9]表示,不然傳不進去,會提示讓手動輸入參數
[sql] view plain
C:\>sqlplus "scott/tiger@test" @d:\test.sql sysdate al
D:\>sqlplus "scott/tiger@test" @d:\test.sql sysdate al
SQL*Plus: Release 11.2.0.1.0 Proction on 星期二 11月 1 21:59:00 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
連接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Proction
With the Partitioning, OLAP, Data Mining and Real Application Testing options
原值 1: select &1 from &2
新值 1: select sysdate from al
SYSDATE
--------------
01-11月-11
從 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Proction
With the Partitioning, OLAP, Data Mining and Real Application Testing options 斷
開
D:\>
如果腳本中有重復用到相同的值,如果&1=&2:
d:\tes2.sql
[sql] view plain
delete scott.emp where no=&1 or deptno=&2;
commit;
執行時,就必須傳2個參數:
[sql] view plain
sqlplus "scott/tiger@test" @d:\test2.sql 10 10
小竅門: 這時用procere就可以不用傳多個相同的參數,則只用傳1個參數:
d:\test3.sql
[sql] view plain
declare
var_no number:=&1;
begin
delete scott.emp where no=var_no or deptno=var_no;
commit;
end;
sqlplus "scott/tiger@test" @d:\test3.sql 10
❷ 如何查看sqlplus執行的語句
如何查看sqlplus執行的語句
oracle 10g的DBMS_XPLAN包中display_cursor函數不同於display函數,display_cursor用於顯示SQL語句的真實的執行計劃,在大多數情況下,
顯示真實的執行計劃有助於更好的分析SQL語句的全過程,尤其是運行此SQL語句實時的I/O開銷。通過對比預估的I/O與真實的I/O開銷來判斷
SQL語句所存在問題,如缺少統計信息,SQL語句執行的次數,根據實際中間結果集的大小來選擇合適的連接方式等。本文僅僅講述
❸ oracle sqlplus導入數據腳本 如何輸出日誌
日誌會在sqlplus里打出來,如果你想打到一個文件里的話,你可以試試這種方法,打開CMD,輸入 sqlplus -s scott/tiger@orcl @d:\test.sql > d:\out.log,具體內容根據你情況修改。
❹ 如何才能讓sqlplus在執行腳本時顯示執行的代碼
有三種方法: 1.建一個login.sql或者修改glogin,sql 但是你沒許可權所以 算了。 2.設置一個環境變數SQLPATH 這個環境變數指向你的腳本。 3.把你要跑的腳本放入你dos窗口的啟動路徑下,就是敲完cmd 後 出來的窗口的最初的路徑。
❺ 如何察看sqlplus中的歷史命令
如何察看sqlplus中的歷史命令
windows 環境下用方向鍵上下來查看,
linux 下用rlwrap 包裝
單純查執行過的sql 可以查V$sql 和v$sqlarea
❻ 如何通過sql*plus查看現有的資料庫
覺得你應該先弄清楚oracle的常規數據字典的結構,像9i里的常規數據字典中對象名稱就有以USER,ALL,DBA為前綴的對象。
以USER為例,我們查該對象下有些什麼表,就應該執行下列的語句:
SQL>select table_name from user_tables;
類似的,你可以進行替換。:)
如果你想查資料庫中所有的表的話,可以查詢
SELECT * FROM dba_tables
如果你想查詢資料庫中某個用戶下的表的話,也可以登錄這個用戶,再查詢:
SELECT * FROM USER_TABLES
要想導入外部sql語句可以用命令
sql >@e:\文件名.sql
如你想保存 select * from tablename;語句的結果,可以在sql*plus 裡面這樣:
SPOOL c:\test.sql //這是保存文件的位置
select * from tablename;
SPOOL OFF
❼ 怎樣用sqlplus調用shell腳本
參考如下:
#Oracle Connection
export ORACLECONNECTSTRING='dps/password@frld world'
sqlplus -silent $ORACLECONNECTSTRING @$SQLDIR/ipb_dps_get_status.sql
ipb_dps_get_status.sql 是放在SQLDIR文件夾下的.sqlfile,把sql語句寫在裡面就可以了
或者後面還可以加上log等。
❽ 如何讓sql語句在oracle後台運行,怎麼查看後台運行的程序,謝謝
sql要在後台運行的的話你只有寫shell腳本了:
sqlplus username/password@orcl <<!
select xxxxxxx --這里填你想要執行的語句
exit
!
(在資料庫本地執行的時候可以不帶連接串,直接用sqlplus username/password <<! 即可)
編寫完腳本後在操作系統下執行:
nohup ./mysql.sh & 或者 ./mysql.sh &
(這里暫定你的shell腳本名是mysql.sh可以自己改)
使用jobs命令就可查看你後台運行的程序。或者使用 ps -ef|grep mysql.sh 也能看到。
當然了使用了nohup參數後在當前目錄會生成nohup.out的輸出文件,你也可以在這個文件中查看腳本執行的進度。
❾ sqlplus 怎麼查看錶的數據文件
查看資料庫中現有的表或對象: 1、 SELECT * FROM CAT ; 2、 select * from tab ; 3、 select * from dba_objects ;
❿ 如何查詢oracle的sqlplus
如何查詢oracle的sqlplus
前提條件是查詢的用戶必須有dba許可權。可以用的語句是:
1
select * from all_users;
sqlplus使用方法:
1、win鍵+R鍵,進入命令提示符:
2、命令提示符中輸入「sqlplus 用戶名/密碼@實例名」(不含引號):
3、輸入查詢的語句,「select * from all_users;」(不含引號,但分號不能省略),然後按回車鍵,就會顯示執行結果