考虑以下(半伪代码):
CREATE TABLE foobar (
id INT NOT NULL
message VARCHAR(40) NOT NULL
)
INSERT INTO foobar (1, "hello");
INSERT INTO foobar (2, "world");
my $resultset = "SELECT * FROM foobar";
while(!$resultset->EOF) {
"UPDATE foobar SET message='blah' WHERE id = ".$resultset->id;
$resultset->moveNext;
}
本质上,我试图从一个表中选择所有记录,然后循环遍历每一个更新几个字段。但是,当我这样做时,我收到以下错误:
[Microsoft][SQL Server Native Client 10.0][SQL Server]触发器返回了一个结果集和/或在另一个未完成的结果集处于活动状态时以 SET NOCOUNT OFF 运行。(SQL-42000) 在 Continuous.pl 第 493 行。
问题是我没有运行任何触发器。我认为这可能是因为我正在尝试更新活动结果集,所以我添加了将所有数据选择到临时表中的中间步骤,然后遍历临时表以更新原始表,但我仍然得到同样的错误。
有什么想法吗?