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

时间:2021-05-24

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

环境准备

使用Oracle的精简版创建docker方式的demo环境,详细可参看:

Here Document

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

# sqlplus system/liumiao123 <<EOF> select * from v\$version;> EOFSQL*Plus: Release 11.2.0.2.0 Production on Sun Oct 21 11:06:42 2018Copyright (c) 1982, 2011, Oracle. All rights reserved.Connected to:Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit ProductionSQL> BANNER--------------------------------------------------------------------------------Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit ProductionPL/SQL Release 11.2.0.2.0 - ProductionCORE 11.2.0.2.0 ProductionTNS for Linux: Version 11.2.0.2.0 - ProductionNLSRTL Version 11.2.0.2.0 - ProductionSQL> Disconnected from Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production#

注意:需要注意v$version中的$需要转义

创建table

接下来使用Here Document的方式调用sqlplus来创建table

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

小结

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章