婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Oracle基礎:通過sqlplus執行sql語句后的結果進行判斷

Oracle基礎:通過sqlplus執行sql語句后的結果進行判斷

熱門標簽:海南400電話哪里辦理 南寧人工智能電銷機器人費用 圖像地圖標注 分布式呼叫中心 濟南地圖標注公司 呼倫貝爾智能手機地圖標注 400電話是不是免費申請 安陽外呼系統免費 貴陽電話外呼系統哪家好

這篇文章介紹一下如何對sqlplus執行的sql語句結果進行判斷。

環境準備

使用Oracle的精簡版創建docker方式的demo環境,詳細可參看:

 https://www.jb51.net/article/153533.htm

常見問題

在sqlplus中執行sql語句,如果直接使用命令行的方式調用時會碰到兩個問題:

  • 問題1: 需要進行交互性的輸入
  • 問題2:結果的判斷不能通過返回值來確認

解決方式

在腳本調用里,解決方式如下

  • 問題1可以通過前文提到的Here Document來解決。
  • 問題2,則可以通過對輸出的判斷來進行,因為Oracle的錯誤代碼基本以ORA-打頭,所以根據輸出中是否包含ORA-,基本可確認是否存在錯誤。

執行結果判斷示例

這里使用命令行的方式進行驗證,直接拷貝到腳本中即可以使用腳本的方式與sqlplus進行集成。

oracle@e871d42341c0:~$ sqlplus system/liumiao123@XE EOF
> desc student
> delete from student;
> select * from student;
> insert into student values (1001, 'liumiaocn');
> insert into student values (1001, 'liumiao');
> insert into student values (1003, 'michael');
> commit;
> select * from student;
> EOF
SQL*Plus: Release 11.2.0.2.0 Production on Mon Oct 22 05:18:51 2018
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
SQL> Name  Null? Type
 ----------------------------------------- -------- ----------------------------
 STUID  NOT NULL NUMBER(4)
 STUNAME   VARCHAR2(50)
SQL> 
3 rows deleted.
SQL> 
no rows selected
SQL> 
1 row created.
SQL> insert into student values (1001, 'liumiao')
*
ERROR at line 1:
ORA-00001: unique constraint (SYSTEM.SYS_C007024) violated
SQL> 
1 row created.
SQL> 
Commit complete.
SQL> 
  STUID STUNAME
---------- --------------------------------------------------
  1001 liumiaocn
  1003 michael

SQL> Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
oracle@e871d42341c0:~$ echo $?
0
oracle@e871d42341c0:~$

從上文可以看到,三行insert的sql語句由于第二行的主鍵重復,出現錯誤,但是最終的結果使用命令行的方式無法對結果進行判斷,這是控制臺方式的常見場景,比如sftp或者ftp等也有此特點,一般常用的對應方式無法通過返回值進行判斷,只能通過輸出來進行判斷。

輸出信息

輸出分為標準輸出和標準錯誤兩種,輸入輸出的FD分別為:

  • 標準輸入:0
  • 標準輸出:1
  • 標準錯誤:2

接下來我們看一下上文中的信息那些是標準輸出,哪些是標準錯誤:

oracle@e871d42341c0:~$ sqlplus system/abcd1234@XE EOF 2>output.error 1>output.info
> desc student
> delete from student;
> select * from student;
> insert into student values (1001, 'liumiaocn');
> insert into student values (1001, 'liumiao');
> insert into student values (1003, 'michael');
> commit;
> select * from student;
> EOF
oracle@e871d42341c0:~$ 
oracle@e871d42341c0:~$ cat output.error
oracle@e871d42341c0:~$ 
oracle@e871d42341c0:~$ cat output.info
SQL*Plus: Release 11.2.0.2.0 Production on Mon Oct 22 05:24:44 2018
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
SQL> Name  Null? Type
 ----------------------------------------- -------- ----------------------------
 STUID  NOT NULL NUMBER(4)
 STUNAME   VARCHAR2(50)
SQL> 
2 rows deleted.
SQL> 
no rows selected
SQL> 
1 row created.
SQL> insert into student values (1001, 'liumiao')
*
ERROR at line 1:
ORA-00001: unique constraint (SYSTEM.SYS_C007024) violated
SQL> 
1 row created.
SQL> 
Commit complete.
SQL> 
  STUID STUNAME
---------- --------------------------------------------------
  1001 liumiaocn
  1003 michael
SQL> Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
oracle@e871d42341c0:~$ 

可以看到錯誤信息全在標準輸出中,標準錯誤中沒有信息。

重定向標準輸出與錯誤判斷

雖然上述信息中可以看到,標準錯誤中沒有信息,這里給出的方案是對應常見的控制臺方式的錯誤控制,為了保證標準錯誤的信息不被遺漏,需要將標準錯誤和重定向到標準輸出中,在bshell中寫法如下:

>輸出文件名稱 2>1

結合本文的例子,使用方式如下:

oracle@e871d42341c0:~$ sqlplus system/abcd1234@XE EOF >output.info 2>1
> desc student
> delete from student;
> select * from student;
> insert into student values (1001, 'liumiaocn');
> insert into student values (1001, 'liumiao');
> insert into student values (1003, 'michael');
> commit;
> select * from student;
> EOF
oracle@e871d42341c0:~$ 
oracle@e871d42341c0:~$ cat output.info
SQL*Plus: Release 11.2.0.2.0 Production on Mon Oct 22 05:29:31 2018
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
SQL> Name  Null? Type
 ----------------------------------------- -------- ----------------------------
 STUID  NOT NULL NUMBER(4)
 STUNAME   VARCHAR2(50)
SQL> 
2 rows deleted.
SQL> 
no rows selected
SQL> 
1 row created.
SQL> insert into student values (1001, 'liumiao')
*
ERROR at line 1:
ORA-00001: unique constraint (SYSTEM.SYS_C007024) violated
SQL> 
1 row created.
SQL> 
Commit complete.
SQL> 
  STUID STUNAME
---------- --------------------------------------------------
  1001 liumiaocn
  1003 michael
SQL> Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
oracle@e871d42341c0:~$

結果判斷

使用grep確認是否存在ORA-相關的信息即可

oracle@e871d42341c0:~$ grep ORA- output.info
ORA-00001: unique constraint (SYSTEM.SYS_C007024) violated
oracle@e871d42341c0:~$ echo $?
0
oracle@e871d42341c0:~$

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

您可能感興趣的文章:
  • Oracle SQLPlus導出數據到csv文件的方法
  • Oracle通過sqlplus連接數據庫的方式
  • Oracle基礎:程序中調用sqlplus的方式
  • 使用sqlplus命令行工具為oracle創建用戶和表空間
  • oracle11g管理員密碼忘記怎么辦 sqlplus解決忘記密碼問題
  • Linux下Oracle中SqlPlus時上下左右鍵亂碼問題的解決辦法
  • oracle 中 sqlplus命令大全
  • Oracle Sqlplus命令登錄多種方式案例講解

標簽:涼山 南充 合肥 焦作 滁州 遼源 郴州 許昌

巨人網絡通訊聲明:本文標題《Oracle基礎:通過sqlplus執行sql語句后的結果進行判斷》,本文關鍵詞  Oracle,基礎,通過,sqlplus,執行,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle基礎:通過sqlplus執行sql語句后的結果進行判斷》相關的同類信息!
  • 本頁收集關于Oracle基礎:通過sqlplus執行sql語句后的結果進行判斷的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久久激情视频| 精品综合久久久久久8888| 日韩天堂在线观看| 在线中文字幕一区| 欧美亚洲综合久久| 日本成人在线看| 石原莉奈在线亚洲三区| 亚洲成av人影院| 久久久久久久一区| 欧美美女黄视频| 欧美岛国在线观看| 国产亚洲综合在线| 国产精品国产三级国产| 捆绑紧缚一区二区三区视频| 日本欧美在线看| 国产99久久久国产精品潘金| av欧美精品.com| 欧美在线观看一区二区| 色欧美片视频在线观看在线视频| 欧美色窝79yyyycom| 一区二区欧美视频| 欧美色倩网站大全免费| 亚洲动漫第一页| 一区二区三区精品视频| 欧美写真视频网站| 久久精品国产亚洲一区二区三区| 欧美性极品少妇| 蜜臀久久99精品久久久画质超高清| 欧美mv日韩mv国产网站| 成人一级片网址| 一区二区免费视频| 国产欧美精品日韩区二区麻豆天美| 国产69精品久久久久777| 亚洲视频一区在线| 欧美妇女性影城| 奇米色一区二区| 国产精品色哟哟| 欧美一a一片一级一片| 乱一区二区av| 亚洲成人资源在线| 国产精品18久久久久久vr| 亚洲综合视频在线| 国产午夜精品一区二区三区嫩草| 日韩精品一区在线| 色综合av在线| 国产精品一区免费在线观看| 日韩国产在线观看| 亚洲美女视频在线| 亚洲福中文字幕伊人影院| 欧美国产精品中文字幕| 日韩一区二区在线观看| 色偷偷久久一区二区三区| 久久国产尿小便嘘嘘尿| 亚洲综合色区另类av| 国产三区在线成人av| 欧美日韩久久一区| 欧美性生活大片视频| 91麻豆精东视频| 成人黄色网址在线观看| 日韩av一级片| 欧美激情自拍偷拍| 久久免费午夜影院| 欧美一区二区在线免费观看| 日韩av一区二区在线影视| 色综合久久99| 久久精品噜噜噜成人av农村| 国产精品情趣视频| 欧美日本在线播放| 欧美体内she精高潮| 国产亚洲人成网站| 一区二区高清在线| 精品福利一二区| 国产一区二区网址| 亚洲免费毛片网站| 亚洲靠逼com| 欧美电影影音先锋| 欧美三区在线观看| 国产在线精品免费av| 亚洲狠狠丁香婷婷综合久久久| 国产欧美日韩在线看| 在线中文字幕一区| 亚洲精品一区二区三区精华液 | 亚洲成人免费av| 一区二区三区色| 欧美成人精品1314www| 日产国产欧美视频一区精品| 蜜芽一区二区三区| 秋霞电影一区二区| 午夜精品久久久久久久久| 国产精品沙发午睡系列990531| 国产一区二区三区在线看麻豆| k8久久久一区二区三区| 精品sm捆绑视频| 日本韩国欧美一区| 国产酒店精品激情| 日本高清成人免费播放| 国内精品免费**视频| av电影在线观看一区| 国产a区久久久| 日韩精品一区第一页| 国产精品99精品久久免费| 日韩成人免费电影| 成人福利电影精品一区二区在线观看 | 91精品在线观看入口| 亚洲最大的成人av| 欧洲在线/亚洲| 午夜精品一区二区三区免费视频| 丰满少妇久久久久久久| 蜜桃免费网站一区二区三区| 亚洲一区欧美一区| 寂寞少妇一区二区三区| 婷婷综合在线观看| 美女视频黄a大片欧美| 亚洲国产日韩精品| 午夜精品久久久久久久| 国产一区在线观看视频| 天天综合色天天| 欧美日韩国产免费一区二区| 成人一区在线观看| 亚洲成人激情av| 九九在线精品视频| 视频一区国产视频| 在线观看欧美黄色| 3atv一区二区三区| 亚洲欧洲日产国码二区| 亚洲综合网站在线观看| 亚洲卡通动漫在线| 99re视频精品| 在线中文字幕一区| 亚洲精品国产视频| 肉丝袜脚交视频一区二区| 中文字幕日韩av资源站| 中文字幕亚洲区| 午夜精品一区二区三区三上悠亚| 色香蕉成人二区免费| 色女孩综合影院| 一区二区激情小说| 久久精品理论片| 成人动漫在线一区| 91精品欧美福利在线观看| 国产99久久精品| 精品日韩成人av| 91黄视频在线观看| 麻豆久久久久久| 国产精品亚洲一区二区三区妖精| 亚洲电影在线播放| 麻豆精品精品国产自在97香蕉| 成人黄色大片在线观看| 热久久免费视频| 最新热久久免费视频| 91久久国产最好的精华液| 日韩亚洲欧美在线| 蜜桃视频一区二区三区在线观看| 成人黄色一级视频| 亚洲自拍偷拍图区| 国产成人夜色高潮福利影视| 欧美成人aa大片| 一区二区三区在线观看网站| 日韩亚洲电影在线| 国产成人精品影视| 91精品福利在线一区二区三区| 日韩电影免费一区| 91黄色激情网站| 蜜臀久久99精品久久久久久9| 99国内精品久久| 亚洲欧美一区二区不卡| 欧美视频一区二区三区| 五月婷婷久久综合| 日韩欧美三级在线| 亚洲一二三四区不卡| 久久免费视频色| 日本一不卡视频| 国产偷国产偷精品高清尤物| 日韩美女视频一区| 欧美一区二区久久| 欧美国产综合色视频| 日本午夜精品一区二区三区电影| 美女视频免费一区| 亚洲一区二区三区在线播放| 99久久国产综合色|国产精品| 欧美三级欧美一级| 国产一区二区三区高清播放| 欧美丰满嫩嫩电影| 国产99久久久国产精品潘金网站| 国产亚洲精久久久久久| 久久午夜免费电影| 91精品国产手机| 亚洲大型综合色站| 国产日韩欧美一区二区三区综合 | 欧洲亚洲国产日韩| 精品国产99国产精品| 欧美在线免费观看视频| 久久久久久亚洲综合影院红桃| 欧美性感一区二区三区| 久久嫩草精品久久久精品| 色偷偷一区二区三区| 樱花草国产18久久久久| 国产91精品欧美| 欧美精品一区二区三区在线| 久久精品久久综合|