CREATE PROCEDURE语句导致(1行受影响)

时间:2015-02-16 18:52:34

标签: sql-server tsql

我正在运行SQL Server 2012。

我有一个创建过程语句:

USE [dbname]
GO
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[Test]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[Test]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[Test] 
AS
SELECT 1

当我使用dbname等于一个数据库运行时,我得到:

(1 row(s) affected)

运行时,dbname等于同一服务器上的另一个数据库,我得到:

Command(s) completed successfully.

显然这是一个数据库设置或特定于数据库的东西,但我似乎找不到任何东西。有谁知道造成这种差异的原因是什么?

提前致谢。

1 个答案:

答案 0 :(得分:0)

这可能是DDL触发器存在的原因。正如您在评论中提到的,其中一个触发器已设置为NO NO COUNT ON,这将停止显示受Transact-SQL语句或存储过程影响的行数计数作为结果的一部分返回的消息组。如果您对其进行评论,或将其添加到其他触发器,您将看到上述两种情况下的相同结果。