Linux/Unix shell sql 之間傳遞變數
靈活結合Linux/Unix Shell 與SQL 之間的變數傳輸,極大程度的提高了DBA的工作效率,本文針對Linux/Unix shell sql 之間傳遞變數給出幾個簡單的示例以供參考。
Linux/Unix 下呼叫SQL,RAMN 請參考:Linux/Unix shell 指令碼中呼叫SQL,RMAN指令碼
一、示例
- 1、shell變數接受sql返回值之方式一
- oracle@SZDB:~> more ./retval.sh
- #!/bin/bash
-
RETVAL=`sqlplus -silent scott/tiger <
- SET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFF
- SELECT * FROM emp WHERE ename='SCOTT';
- EXIT;
- EOF`
- if [ -z "$RETVAL" ]; then
- echo "No rows returned from database"
- exit 0
- else
- echo $RETVAL
- fi
- oracle@SZDB:~> chmod u+x retval.sh
- oracle@SZDB:~> ./retval.sh
- 7788 SCOTT ANALYST 7566 19-APR-87 34171.88 20
- 2、shell變數接受sql返回值之方式二
- oracle@SZDB:~> more ./retval_2.sh
- #!/bin/bash
- # Author : Robinson Cheng
- # Blog : http://blog.csdn.net/robinson_0612
-
sqlplus -S "scott/tiger" <
- SET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFF
- col cnt new_value v_cnt
- SELECT count(*) cnt FROM emp WHERE deptno=10;
- exit v_cnt
- EOF
- VALUE="$?"
- echo "show rows for deptno 10:$VALUE"
- 3、將shell變數作為引數傳遞給sql指令碼
- oracle@SZDB:~> more ./retval_3.sh
- #!/bin/bash
- v_empno="$1"
-
sqlplus -S "scott/tiger" <
- SET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFF
- SELECT ename FROM emp WHERE empno=$v_empno;
- exit
- EOF
- exit
- oracle@SZDB:~> ./retval_3.sh 7788
- SCOTT
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23490154/viewspace-1062405/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux之shell變數Linux變數
- 執行緒組之間的JMeter傳遞變數執行緒JMeter變數
- Linux基礎之Shell與變數Linux變數
- Linux Shell變數Linux變數
- Shell學習【引數傳遞】
- [轉]Shell向Perl指令碼中傳遞變數的方法指令碼變數
- AbilitySlice之間的傳遞值
- 向檢視傳遞變數變數
- go 呼叫 shell 指令碼 如何傳遞引數Go指令碼
- linux中main引數傳遞LinuxAI
- 頁面之間傳遞資料
- 兄弟元件之間資訊傳遞元件
- Vue父子之間的值傳遞Vue
- Linux中bash shell環境變數Linux變數
- Shell自學二(引數傳遞和陣列)陣列
- shell (3)指令碼引數傳遞與數學運算指令碼
- 在Linux中,Unix和Linux之間的關係是什麼?Linux
- vue元件之間的資料傳遞Vue元件
- 禁止 SSH 傳遞 locale 環境變數變數
- 微信開發之小程式頁面間如何傳遞引數
- 引數傳遞機制之JWTJWT
- JAVA基礎之-引數傳遞Java
- GO語言————6.3 傳遞變長引數Go
- Linux Shell檔案之間的包含關係Linux
- Shell變數型別有哪些?linux運維shell程式設計變數型別Linux運維程式設計
- Linux和Unix之間有什麼關聯?區別在哪裡?Linux
- Ability之間或者程式間資料傳遞之物件(Sequenceable序列化)物件
- shell Bash變數變數
- Shell--變數變數
- Linux shell程式設計(一)shell指令碼中的變數詳解Linux程式設計指令碼變數
- 【Linux】什麼是shell指令碼?shell變數分為哪幾類?Linux指令碼變數
- Java方法04:命令列傳遞引數、可變引數Java命令列
- 【pytest】使用parametrize將引數化變數傳遞到fixture變數
- 不同順序InBoundHandler之間的資料傳遞
- postman(五):在不同介面之間傳遞資料Postman
- HttpRunner3的變數是如何傳遞的HTTP變數
- 如何將環境變數傳遞給 Docker 容器?變數Docker
- Flutter:學會在頁面間傳遞引數Flutter
- 01 shell程式設計之變數定義程式設計變數