#!/bin/ksh
date='20140101'
tablename="smssvclog_${date}_1_s"
sqlplus$ACCOUNT/$PASSWORD@$ORACLE_LOG<<EOF
selectcount(*)from${tablename};
exit;
EOF
B. shell腳本執行.sql文件
<script type="text/javascript">
Leaf leaf = new Leaf("Leaf D");
root.Add(leaf);
root.Remove(leaf);
root.Display(1);
Console.Read();
}
C. shell參數傳遞SQL腳本
你可以這么寫,把目錄下file_1,file_2,file_3 文件名保存在一個文本文件里,
這個文件叫file.txt,格式一行一個文件名。比如腳本叫test.sh
使用:./test.sh file.txt
這樣就循環讀取文本中每行的文件名並代入到變數filename
或者你也可以通過files=($(ls -l | grep ^- | awk '{print $8}'))
截取一個files數組然後,for filename in ${files[*]} 往for循環里套。
#!/bin/bash
while read filename
do
sqlplus -S g471725/g471725 <<EOF
define v_input_file=$filename
@sql.sql
exit
EOF
done < $1
D. 如何在shell中調SQLPLUS 執行SQL語句
1、實例1,獲取TABLESPACE_NAME列表
#!/bin/sh
. ~/.bash_profile
sqlplus -s 'user/234256' <<EOF
spool v.txt
set linesize 200
col TABLESPACE_NAME format a50
col file_name format a50
select distinct(TABLESPACE_NAME) from dba_data_files order by TABLESPACE_NAME;
spool off
EOF
2、一句
echo -e "drop table test_BAK purge;"|sqlplus -s 'user/123499'
3、執行sql文件實例
#!/bin/bash
. ~/.bash_profile
sqlplus -s 'user/234256' @~/remove_old_data.sql
E. 如何在shell中運行sql語句
直接在shell運行mysql -uxxx -pxxx db -e "select * from xxx;"
F. shell腳本中怎麼寫sql語句
mysql -uroot -pxxx dbname -e "select xxx from xxx;"
G. 在shell腳本中使用 isql 執行SQL語句 查詢sybase資料庫中滿足條件的記錄條數,怎麼把查詢結果賦給變數
注意此處:
isql -U natuser -P zjtt@nat -S natdb <<END
如下供參考
·1 若要重定向到文件
isql -U natuser -P zjtt@nat -S natdb <<END >out.txt
即將查詢結果重定向到out.txt文件中
·2若要輸出至變數
isql -U natuser -P zjtt@nat -S natdb <<END |read xarg
·3若要循環輸出至變數,可參照read方式類推