如何查看不返回结果的查询的效果?

时间:2013-04-10 06:55:53

标签: sql sql-server sql-server-2008

有些查询没有返回结果,只返回消息

  

命令已成功完成

执行后返回

。如何找出查询对数据库的影响(如果有的话)?

2 个答案:

答案 0 :(得分:2)

通常,只返回

的DDL查询
command(s) completed successfully

例如,如果在DB中创建表/视图/ sproc / function或任何其他对象,则只能获得上述语句。

当您执行DML时,理想情况下应该

(xxx row(s) affected)

即使有一个不满意的WHERE子句,你仍然会得到

(0 row(s) affected)

除非你第一次执行

SET NOCOUNT ON

顺便执行时会自动执行

command(s) completed successfully

为什么不在这里发布您的查询,以便我们知道您在说什么?

拉​​吉

答案 1 :(得分:0)

我认为如果您想要在值之前和之后看到,您需要自己将它们写入语句。您还可以执行多个打印语句以查看发生的情况(您必须创建它们。)

提醒一句 - 如果您使用类似VB / C#的内容来获取结果,请记住任何选择结果都将从存储过程返回。因此,如果您在更改之前执行了选择,进行了更改,然后再次执行选择,则新记录将位于第二个表中。

通常,如果我正在对存储过程中的记录进行更新,如果它通常不会返回任何内容,我将返回所有已更改的记录。然后,如果某人调用了proc而忽略了结果,则不会造成任何伤害。