當前位置:首頁 » 編程語言 » shell腳本判斷sql執行結果
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

shell腳本判斷sql執行結果

發布時間: 2023-01-01 22:58:54

A. LINUX下shell腳本如何執行 sql腳本 到DB2資料庫

1、在gedit中編寫.sh格式的文件,保存為a.sh。

B. 在shell腳本中使用 isql 執行SQL語句 查詢sybase資料庫中滿足條件的記錄條數,怎麼把查詢結果賦給變數

放在一個批處理中執行就可以了
use natdb
go
declare @Nrows integer
select @Nrows=count(*) from test_userdata
if @Nrows>0
update ....
else
insert ...
go

C. 怎麼在shell腳本裡面獲得sqlplus執行的結果

請參考下面這個方法:

備註:getDbUserByTableName$TableName是獲取表在哪個資料庫的。你可以直接把$DbUSER換成tns串或者別名即可。

#sqlplus連接資料庫的方法
#需要傳入兩個參數,第一個是表名,一個是需要執行的sql語句,一條語句作為一行
sqlBossDb(){
TableName=$1
SqlStr=$2
getDbUserByTableName$TableName
DbUSER=`catdbuser.temp`
Note_Log"$DbUSER連接資料庫,執行語句$SqlStr"
evalecho${$DbUSER}>aaa.temp#查詢出來是sqlDbUser.cfg中DBUSERNAME項,需要換成DBUSERSTR項
DbUSER=`cataaa.temp`
#Note_Log"開始$DbUSER"
sqlplus$DbUSER<<!
setlinesize1000
$SqlStr
commit;
quit
!
e

D. SHELL腳本如何處理sql執行結果

pid id
1 2
1 3
1 4
1 5
2 3
2 4
3 5


存放在6.txt中,可以用工具將數據轉換為SQL,然後拷貝到執行SQL的工具中執行

cat6.txt|awk'NR>1{printf("insertintotable_name(pid,id)values("%s","%s");
",$1,$2);}'


輸出:

insert into table_name (pid,id) values ("1","2") ;
insert into table_name (pid,id) values ("1","3") ;
insert into table_name (pid,id) values ("1","4") ;
insert into table_name (pid,id) values ("1","5") ;
insert into table_name (pid,id) values ("2","3") ;
insert into table_name (pid,id) values ("2","4") ;
insert into table_name (pid,id) values ("3","5") ;


如果需要插入在一個事務中完成,可以視資料庫類型自己在SQL前後增加

begin

commit

這類語句。

E. 如何在shell腳本中,判斷一個基本命令執行是否成功

命令執行是否成功主要由 命令自己確定,如果它出錯 它會返回一個非0的退出狀態
這個退出狀態通過 $? 內置變數獲取
在shell腳本的編寫過程中 邏輯運算 ( && ||)就是由退出狀態決定
0 表示 true(正常) 非零表示false(異常),異常退出值可以有很多不同的值,這些值就表示了錯誤類型。
function exit_status(){
( exit $1 )

}
這個函數會根據參數返回錯誤狀態
exit_status 123
echo $? #輸出退出狀態 123
另外解釋以下 c語言和 shell 腳本的關系。

標准 c/c++語言 main函數
int main(int argc,char **argv){

}
main的返回值就是這個程序的命令行退出狀態。

F. 如何在shell腳本中,判斷一個基本命令執行是否成功

1.連接到相應的Linux主機,進入Linux命令行狀態,等待shell命令的輸入。

G. shell腳本執行sql傳出結果

shell腳本執行sql需要輸出結果,可以在shell腳本中寫入語句,執行完成sql語句後,結果定向輸入到一個txt文本文件中,再把txt文本文件存放在固定的文件夾中即可。

H. 如何在shell腳本中,判斷一個基本命令執行是否成功

用特殊變數:$?

判斷前一個命令的執行是否成功(或者說是返回碼)

執行成功變數的值是0,不是零表示沒有執行成功

例如:

注意:一定要在命令執行後立即判斷,否則後面的代碼會沖掉$?變數的值。

I. 在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方式類推

J. shell腳本怎麼獲取sql select count(*)語句的結果

單引號換成雙引號:
echo 「select count(*) from ${tablename};」 | sqlplus $ACCOUNT/$PASSWORD@$ORACLE_LOGIP:1521/$SID > ${TMPFILE}