如何使用 perl DBI 获取输出"Table created"



有一段代码我想用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

最新更新