Oracle基础:程序中调用sqlplus的方式
通过sqlplus可以连接数据库根据用户权限进行数据或者设定操作,但是需要交互操作并返回结果,这篇文章介绍一下如何在程序中使用sqlplus。
环境准备
使用Oracle的精简版创建docker方式的demo环境,详细可参看:
- https://www.nhooo.com/article/153533.htm
HereDocument
因为sqlplus是控制台的方式与用户进行交互式的输入/输出对应,而在程序执行的过程中显然是需要预先定好的输入,这样可以考虑使用HereDocument,比如希望通过sqlplus来确认数据库版本信息,则可以这样
#sqlplussystem/liumiao123<select*fromv\$version; >EOF SQL*Plus:Release11.2.0.2.0ProductiononSunOct2111:06:422018 Copyright(c)1982,2011,Oracle.Allrightsreserved. Connectedto: OracleDatabase11gExpressEditionRelease11.2.0.2.0-64bitProduction SQL> BANNER -------------------------------------------------------------------------------- OracleDatabase11gExpressEditionRelease11.2.0.2.0-64bitProduction PL/SQLRelease11.2.0.2.0-Production CORE11.2.0.2.0Production TNSforLinux:Version11.2.0.2.0-Production NLSRTLVersion11.2.0.2.0-Production SQL>DisconnectedfromOracleDatabase11gExpressEditionRelease11.2.0.2.0-64bitProduction #
注意:需要注意v$version中的$需要转义
创建table
接下来使用HereDocument的方式调用sqlplus来创建table
#sqlplussystem/liumiao123<createtablestudent( >stuidnumber(4), >stunamevarchar2(50), >primarykey(stuid) >); >descstudent; >EOF SQL*Plus:Release11.2.0.2.0ProductiononSunOct2111:11:522018 Copyright(c)1982,2011,Oracle.Allrightsreserved. Connectedto: OracleDatabase11gExpressEditionRelease11.2.0.2.0-64bitProduction SQL>2345 Tablecreated. SQL>NameNull?Type ----------------------------------------------------------------------------- STUIDNOTNULLNUMBER(4) STUNAMEVARCHAR2(50) SQL>DisconnectedfromOracleDatabase11gExpressEditionRelease11.2.0.2.0-64bitProduction #
小结
sqlplus结合HereDocument即可实现在程序中调用sqlplus。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接