查找在perl DBI中执行的查询类型
在我的perl程序中,我有一个函数,它接受一个查询作为输入,并执行它,如果查询是select语句,则打印获取的任何行查找在perl DBI中执行的查询类型,perl,dbi,Perl,Dbi,在我的perl程序中,我有一个函数,它接受一个查询作为输入,并执行它,如果查询是select语句,则打印获取的任何行 但问题在于update或insert语句中的fetchrow\u数组会出现错误,那么我有没有办法知道执行了什么类型的查询,以便跳过fetch部分?不知道执行的是哪种SQL对我来说听起来是个坏主意,但这不是你所要求的,所以 检查后,您将发现: 通过检查 $sth->{NUM\u OF_FIELDS}在调用execute后大于零 不知道您正在执行哪种SQL对我来说是个坏主意,但这不是
但问题在于update或insert语句中的fetchrow\u数组会出现错误,那么我有没有办法知道执行了什么类型的查询,以便跳过fetch部分?不知道执行的是哪种SQL对我来说听起来是个坏主意,但这不是你所要求的,所以 检查后,您将发现: 通过检查 $sth->{NUM\u OF_FIELDS}在调用execute后大于零
不知道您正在执行哪种SQL对我来说是个坏主意,但这不是您所要求的,所以 检查后,您将发现: 通过检查 $sth->{NUM\u OF_FIELDS}在调用execute后大于零
使用正则表达式创建一个小助手函数,以检查查询中特定单词的SQL字符串
my $sql = "UPDATE some_table SET some_value = 'abc' WHERE some_value = 'xyz'";
sub get_query_type
{
my $sql_string = shift;
my $query_type;
if( $sql_string =~ m/^UPDATE/i )
{
$query_type = "An UPDATE query";
# do UPDATE stuff
}
elsif( $sql_string =~ m/^INSERT/i )
{
$query_type = "An INSERT query";
# do INSERT stuff
}
# more blocks here as needed.
return $query_type;
}
my $type = get_query_type( $sql );
print $type;
使用正则表达式创建一个小助手函数,以检查查询中特定单词的SQL字符串
my $sql = "UPDATE some_table SET some_value = 'abc' WHERE some_value = 'xyz'";
sub get_query_type
{
my $sql_string = shift;
my $query_type;
if( $sql_string =~ m/^UPDATE/i )
{
$query_type = "An UPDATE query";
# do UPDATE stuff
}
elsif( $sql_string =~ m/^INSERT/i )
{
$query_type = "An INSERT query";
# do INSERT stuff
}
# more blocks here as needed.
return $query_type;
}
my $type = get_query_type( $sql );
print $type;
您的程序充满了错误祝您好运;)您的程序充满了错误祝您好运;)我会试试的。有那么糟糕的问题吗??这是我为自己写的一些方便代码。我会试试的。有那么糟糕的问题吗??这是我为自己写的方便代码。