我有一个存储过程,它有很多打印语句,它会产生打印语句和结果集
如何使用 perl 和(DBI/DBD 或 CTLib 或 DBLib)分别捕获打印语句和选择语句
http://search.cpan.org/~mewp/DBD-Sybase-1.12/Sybase.pm#syb_err_handler_(subroutine_ref)说:
syb_err_handler (subroutine ref)
此属性用于设置一个临时错误处理程序回调(即 perl 子程序),该回调在正常错误处理程序完成其工作之前被调用。如果此子例程返回 0,则忽略该错误。这对于处理 Transact-SQL 中的 PRINT 语句、处理来自备份服务器的消息、showplan 输出、dbcc 输出等很有用。[强调我的]
并展示了以下处理方法:
$dbh = DBI->connect('dbi:Sybase:server=troll', 'sa', '',
{ syb_err_handler => \&err_handler });
我以前做的另一件事是,知道我的 procs 主要是从 perl 调用的,是“选择”所有打印的输出,第一列是“消息:”,第二列是我想要打印的消息。我什至创建了一种 printf-from-the-database 函数。