检查更新查询是否影响了perl行

时间:2016-04-19 11:42:23

标签: sql postgresql perl

我有一个"更新"查询,我想检查此查询是否影响了任何行,如果有,我想发送电子邮件给自己。我对perl或sql并不熟悉。 (我使用postgresql)。

编辑:我知道UPDATE会返回" count"它告诉我们有多少行(如果有的话)已更新,但我仍然不知道怎么做到这一点。

代码如下所示:

model.Custom = new { customMessage = "your value" };

问题是我不知道要放入if的内容,我应该设置什么标志?是否有任何简单的检查,答案"已经影响了行#34;?

1 个答案:

答案 0 :(得分:1)

使用do()

的快捷方式版本
my $update_query = '...';

my $ret = $dbh->do($update_query);

if ($ret) {
  if ($ret eq '0E0') {
    # no rows updated
  } else {
    # rows updated
  }
} else {
  # error
}

完整prepare() / execute()版本。

my $update_query = '...';
my $sth = $dbh->prepare($update_query);

my $ret = $sth->execute;

if ($ret) {
  if ($ret eq '0E0') {
    # no rows updated
  } else {
    # rows updated
  }
} else {
  # error
}