Oracle数据库基础:程序中调用sqlplus的方式

通过sqlplus可以连接数据库根据用户权限进行数据或者设定操作,但是需要交互操作并返回结果,这篇文章介绍一下如何在程序中使用sqlplus。

环境准备

使用Oracle的精简版创建docker方式的demo环境。

Here Document

因为sqlplus是控制台的方式与用户进行交互式的输入/输出对应,而在程序执行的过程中显然是需要预先定好的输入,这样可以考虑使用Here Document,比如希望通过sqlplus来确认数据库版本信息,则可以这样

  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中的$需要转义

创建table

接下来使用Here Document的方式调用sqlplus来创建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. #

小结

sqlplus结合Here Document即可实现在程序中调用sqlplus。

总结

以上就是Oracle数据库基础:程序中调用sqlplus的方式的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值。