通过sqlplus可以连接数据库根据用户权限进行数据或者设定操作,但是需要交互操作并返回结果,这篇文章介绍一下如何在程序中使用sqlplus。
环境准备
使用oracle的精简版创建docker方式的demo环境,详细可参看:
here document
因为sqlplus是控制台的方式与用户进行交互式的输入/输出对应,而在程序执行的过程中显然是需要预先定好的输入,这样可以考虑使用here document,比如希望通过sqlplus来确认数据库版本信息,则可以这样
# sqlplus system/liumiao123 <<eof > select * from v$version; > eof sql*plus: release 11.2.0.2.0 production on sun oct 21 11:06:42 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> banner -------------------------------------------------------------------------------- oracle database 11g express edition release 11.2.0.2.0 - 64bit production pl/sql release 11.2.0.2.0 - production core 11.2.0.2.0 production tns for linux: version 11.2.0.2.0 - production nlsrtl version 11.2.0.2.0 - production sql> 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; > eof sql*plus: release 11.2.0.2.0 production on sun oct 21 11:11:52 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> 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。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对www.887551.com的支持。如果你想了解更多相关内容请查看下面相关链接