这篇文章主要介绍了Oracle程序中如何调用sqlplus,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

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

环境准备

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

Here Document

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

#sqlplussystem/liumiao123<<EOF>select*fromv\$version;>EOFSQL*Plus:Release11.2.0.2.0ProductiononSunOct2111:06:422018Copyright(c)1982,2011,Oracle.Allrightsreserved.Connectedto:OracleDatabase11gExpressEditionRelease11.2.0.2.0-64bitProductionSQL>BANNER--------------------------------------------------------------------------------OracleDatabase11gExpressEditionRelease11.2.0.2.0-64bitProductionPL/SQLRelease11.2.0.2.0-ProductionCORE11.2.0.2.0ProductionTNSforLinux:Version11.2.0.2.0-ProductionNLSRTLVersion11.2.0.2.0-ProductionSQL>DisconnectedfromOracleDatabase11gExpressEditionRelease11.2.0.2.0-64bitProduction#

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

创建table

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

#sqlplussystem/liumiao123<<EOF>createtablestudent(>stuidnumber(4),>stunamevarchar2(50),>primarykey(stuid)>);>descstudent;>EOFSQL*Plus:Release11.2.0.2.0ProductiononSunOct2111:11:522018Copyright(c)1982,2011,Oracle.Allrightsreserved.Connectedto:OracleDatabase11gExpressEditionRelease11.2.0.2.0-64bitProductionSQL>2345Tablecreated.SQL>NameNull?Type-----------------------------------------------------------------------------STUIDNOTNULLNUMBER(4)STUNAMEVARCHAR2(50)SQL>DisconnectedfromOracleDatabase11gExpressEditionRelease11.2.0.2.0-64bitProduction#

感谢你能够认真阅读完这篇文章,希望小编分享的“Oracle程序中如何调用sqlplus”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!