我有一个简单的存储过程,只需从几个表中选择数据,只有一个输入。我设置存储过程的方式如下:
CREATE PROCEDURE dbo.Proc_Name
(
@input
)
AS
BEGIN
SET NOCOUNT ON
BEGIN TRY
(
SELECT statements go here
)
END TRY
BEGIN CATCH
END CATCH
END
尽管打开了SET NOCOUNT,我仍然会受到影响" nn行受影响"我调用存储过程时的消息。
我尝试更改SET NOCOUNT ON的位置,但这也无济于事。
我注意到的另一件事是我的存储过程返回:
Warning: Null value is eliminated by an aggregate or other SET operation.
消息。
此警告是否会抛出SET NOCOUNT ON提示?
答案 0 :(得分:0)
你的proc的语法不正确。它应该是:
CREATE PROCEDURE dbo.Proc_Name
@input
AS
BEGIN...
括号在参数周围无效,您需要关键字AS。我会更正这一点,并确保你的proc正在编译。
警告意味着您正在聚合一个可为空的列,即使存在空值也会返回一些值。
答案 1 :(得分:0)
我的坏人。 proc名称与另一个proc名称过于接近。结果我说错了程序,它运行正常。我改变了电话,现在工作正常。谢谢你的时间。