婷婷综合国产,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
    亚洲成人av一区| 懂色av一区二区夜夜嗨| 国产精品高清亚洲| 欧美www视频| 久久色在线观看| 亚洲精品国产视频| 精品中文字幕一区二区| 粉嫩av一区二区三区粉嫩 | 99久久国产综合精品女不卡| 色网站国产精品| 欧美欧美欧美欧美首页| xvideos.蜜桃一区二区| 欧美日韩亚洲综合在线 | 久久综合九色综合97婷婷| 蓝色福利精品导航| 国产精品视频yy9299一区| 99久久精品久久久久久清纯| 亚洲国产aⅴ成人精品无吗| 本田岬高潮一区二区三区| 精品久久久久一区| 久久av资源站| 国产精品亲子乱子伦xxxx裸| 91视频免费看| 美女视频黄免费的久久| 国产欧美日韩视频一区二区| 欧美伊人久久大香线蕉综合69| 久久成人av少妇免费| 欧美激情一区二区三区四区| 欧美三级三级三级爽爽爽| 国产成人啪午夜精品网站男同| 亚洲一线二线三线视频| 久久精品在线观看| 欧美日韩一区二区三区在线看| 韩国欧美国产1区| 18欧美亚洲精品| 久久久久久电影| 欧美综合色免费| 大桥未久av一区二区三区中文| 亚洲 欧美综合在线网络| 国产精品二三区| 久久久99久久| 精品久久久久久久久久久久久久久久久 | 久久这里只有精品视频网| 欧美四级电影网| 色综合欧美在线视频区| 国产精品一二三区| 久久av中文字幕片| 日韩精品一级二级| 波多野结衣在线aⅴ中文字幕不卡| 91福利小视频| 欧美成人精品高清在线播放 | 男女性色大片免费观看一区二区 | 日韩欧美一二区| 久久久精品免费免费| 亚洲欧洲无码一区二区三区| 亚洲另类一区二区| 久久国产精品免费| 欧美性欧美巨大黑白大战| 国产目拍亚洲精品99久久精品| 亚洲男人天堂av| 国内精品免费**视频| 日本久久一区二区三区| 精品国产免费一区二区三区四区 | 精品国产99国产精品| 136国产福利精品导航| 欧美性大战久久久久久久蜜臀| 黄一区二区三区| 国产成人亚洲精品青草天美| 亚洲欧洲精品一区二区精品久久久 | 全国精品久久少妇| 91色乱码一区二区三区| 日韩欧美综合在线| 亚洲一区免费在线观看| 成人午夜电影小说| 久久久久久9999| 美女精品自拍一二三四| 国产99久久久国产精品免费看| 在线观看视频一区| 亚洲黄色免费电影| 风流少妇一区二区| 欧美www视频| 日韩成人一级大片| 欧美午夜视频网站| 亚洲精品老司机| 国产成人在线看| 国产亚洲制服色| 国产一区二区三区观看| 欧美大片一区二区| 免费美女久久99| 精品日韩av一区二区| 日韩午夜av电影| 奇米色一区二区三区四区| 91精品国产入口| 依依成人精品视频| 欧美亚洲高清一区二区三区不卡| 国产亚洲一区二区在线观看| 国产在线视频精品一区| 欧美不卡一区二区三区四区| 日本色综合中文字幕| 欧洲一区在线观看| 中文字幕制服丝袜成人av | 欧美亚洲国产一区在线观看网站| 中文av一区二区| 成人黄页在线观看| 国产视频在线观看一区二区三区 | 成人影视亚洲图片在线| 国产三级欧美三级日产三级99| 精品一区免费av| 精品动漫一区二区三区在线观看| 久久se精品一区精品二区| 欧美老肥妇做.爰bbww视频| 麻豆91在线观看| 精品国产a毛片| 国产一区二区视频在线| 精品国产不卡一区二区三区| 国产酒店精品激情| 国产片一区二区三区| 成人av在线资源| 香蕉影视欧美成人| 91成人在线精品| 亚洲成人自拍网| 26uuu成人网一区二区三区| 懂色中文一区二区在线播放| 亚洲一区自拍偷拍| 久久91精品国产91久久小草| 欧美日韩精品福利| 亚洲国产视频一区二区| 欧美一区二区精品在线| 国产精品一区二区久激情瑜伽 | 激情深爱一区二区| 久久综合狠狠综合久久激情| av欧美精品.com| 日韩精品免费专区| 国产精品久久99| 日韩一区二区在线观看视频| 91丨九色丨黑人外教| 另类中文字幕网| 亚洲柠檬福利资源导航| 日韩一区二区三区免费看| 99久久精品国产观看| 精品影院一区二区久久久| 亚洲午夜在线电影| 欧美经典三级视频一区二区三区| 欧美色综合网站| www.66久久| 亚洲三级小视频| 日韩精品一区二区三区在线播放| 成人免费黄色大片| 久久精品国产成人一区二区三区| 亚洲欧洲制服丝袜| 国产亚洲1区2区3区| 日韩三级视频在线看| 色综合天天综合网国产成人综合天| 久久精品av麻豆的观看方式| 亚洲精品五月天| 国产色一区二区| 欧美va亚洲va香蕉在线| 7777精品伊人久久久大香线蕉的 | av一本久道久久综合久久鬼色| 蜜桃av一区二区| 亚洲图片欧美色图| 一二三区精品福利视频| eeuss国产一区二区三区| 精品少妇一区二区三区日产乱码| 成人午夜大片免费观看| 久久不见久久见中文字幕免费| 亚洲香蕉伊在人在线观| 亚洲欧美日韩一区二区| 中文无字幕一区二区三区| 欧美丰满美乳xxx高潮www| 99久久精品免费看国产免费软件| 极品美女销魂一区二区三区| 日韩电影在线观看一区| 日日夜夜精品视频天天综合网| 亚洲成人精品一区二区| 亚洲午夜久久久| 丝袜脚交一区二区| 日韩国产成人精品| 捆绑紧缚一区二区三区视频 | 男人操女人的视频在线观看欧美 | 成人激情小说乱人伦| www.日韩大片| 欧美视频在线观看一区二区| 国产在线看一区| 美女在线视频一区| 日日夜夜精品视频天天综合网| 亚洲伦理在线免费看| 中文在线免费一区三区高中清不卡| 精品国产伦一区二区三区观看体验| 欧美一区二区播放| 久久综合久久久久88| 久久午夜老司机| 国产欧美一区二区精品性| 国产午夜亚洲精品午夜鲁丝片| 中文字幕第一区综合| 亚洲欧美另类久久久精品2019| 一区二区三区在线视频免费观看 | 精品国产乱码久久久久久久| 久久久久综合网| 亚洲视频每日更新|