欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-09-04 17:23:42
通过sqlplus可以连接数据库根据用户权限进行数据或者设定操作,但是需要交互操作并返回结果,这篇文章介绍一下如何在程序中使用sqlplus。 环境准备 使用oracl...

通过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。

总结

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