有一段代码我想用Perl DBI"创建的表"获得输出:
use DBI;
use DBD::Oracle qw(:ora_session_modes);
$dbh=DBI->connect( "dbi:Oracle:", "", "", { ora_session_mode =>
ORA_SYSDBA , RaiseError => 1, PrintError => 1 } );
$dbh->do(qq{ create table test ( customer_id number(10) NOT NULL ) } );
如何从DBI获得"表创建"输出?
我不认为您可以直接从DBI得到这个答案。DBI并不真正关心它在执行什么,它只是将东西传递给数据库并形成数据库。只有您(或您编写的代码)知道您运行的语句是CREATE TABLE
语句。
因此,如果您想打印TABLE CREATED
,甚至TABLE test CREATED
,您必须按照此处其他一些答案的建议检查返回值,然后自己组装消息。
如果查询未成功执行,则打印错误消息。
$Local_Dbh->do($Query) or print " Unable to execute the query $Local_Dbh->errstr";
如果表没有创建,它将返回undef或-1,否则返回类似的值
Result : 0E0