Oracle數(shù)據(jù)庫基礎(chǔ):程序中調(diào)用sqlplus的方式

2019-01-27 14:18:28 來源:互聯(lián)網(wǎng)作者:liumiaocn 人氣: 次閱讀 494 條評論

通過sqlplus可以連接數(shù)據(jù)庫根據(jù)用戶權(quán)限進行數(shù)據(jù)或者設(shè)定操作,但是需要交互操作并返回結(jié)果,這篇文章介紹一下如何在程序中使用sqlplus。環(huán)境準備使用Oracle的精簡版創(chuàng)建docker...

通過sqlplus可以連接數(shù)據(jù)庫根據(jù)用戶權(quán)限進行數(shù)據(jù)或者設(shè)定操作,但是需要交互操作并返回結(jié)果,這篇文章介紹一下如何在程序中使用sqlplus。

環(huán)境準備

使用Oracle的精簡版創(chuàng)建docker方式的demo環(huán)境。

Here Document

因為sqlplus是控制臺的方式與用戶進行交互式的輸入/輸出對應,而在程序執(zhí)行的過程中顯然是需要預先定好的輸入,這樣可以考慮使用Here Document,比如希望通過sqlplus來確認數(shù)據(jù)庫版本信息,則可以這樣

  1. # sqlplus system/liumiao123 <<EOF
  2. > select * from v\$version;
  3. > EOF
  4. SQL*Plus: Release 11.2.0.2.0 Production on Sun Oct 21 11:06:42 2018
  5. Copyright (c) 1982, 2011, Oracle. All rights reserved.
  6. Connected to:
  7. Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
  8. SQL>
  9. BANNER
  10. --------------------------------------------------------------------------------
  11. Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
  12. PL/SQL Release 11.2.0.2.0 - Production
  13. CORE 11.2.0.2.0 Production
  14. TNS for Linux: Version 11.2.0.2.0 - Production
  15. NLSRTL Version 11.2.0.2.0 - Production
  16. SQL> Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
  17. #

注意:需要注意v$version中的$需要轉(zhuǎn)義

創(chuàng)建table

接下來使用Here Document的方式調(diào)用sqlplus來創(chuàng)建table

  1. # sqlplus system/liumiao123 <<EOF
  2. > create table student (
  3. > stuid number(4),
  4. > stuname varchar2(50),
  5. > primary key (stuid)
  6. > );
  7. > desc student;
  8. > EOF
  9. SQL*Plus: Release 11.2.0.2.0 Production on Sun Oct 21 11:11:52 2018
  10. Copyright (c) 1982, 2011, Oracle. All rights reserved.
  11. Connected to:
  12. Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
  13. SQL>  2  3  4  5
  14. Table created.
  15. SQL> Name    Null?  Type
  16.  ----------------------------------------- -------- ----------------------------
  17.  STUID    NOT NULL NUMBER(4)
  18.  STUNAME     VARCHAR2(50)
  19. SQL> Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
  20. #

小結(jié)

sqlplus結(jié)合Here Document即可實現(xiàn)在程序中調(diào)用sqlplus。

總結(jié)

以上就是Oracle數(shù)據(jù)庫基礎(chǔ):程序中調(diào)用sqlplus的方式的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值。