Stored procedures 如何更正包含group和order子句的存储过程的语法?

Stored procedures 如何更正包含group和order子句的存储过程的语法?,stored-procedures,syntax,sql-server-2012,Stored Procedures,Syntax,Sql Server 2012,我编写了一个包含group和ORDERBY子句的存储过程,这与我以前创建的过程不同 我调试了错误 “,”附近的语法不正确 但是脱离了以前的存储过程。我在每个列和表名后面设置了逗号,但为了执行,没有更正语法 在创建存储过程时,在放置逗号方面是否有语法规则要遵循 这是一个示例存储过程,其中包含由于SQL Server Management Studio中逗号周围出现语法错误而无法执行的子句: CREATE PROCEDURE [dbo].[GetStatusByOwner] @p_Item_O

我编写了一个包含group和ORDERBY子句的存储过程,这与我以前创建的过程不同

我调试了错误

“,”附近的语法不正确

但是脱离了以前的存储过程。我在每个列和表名后面设置了逗号,但为了执行,没有更正语法

在创建存储过程时,在放置逗号方面是否有语法规则要遵循

这是一个示例存储过程,其中包含由于SQL Server Management Studio中逗号周围出现语法错误而无法执行的子句

CREATE PROCEDURE [dbo].[GetStatusByOwner]
   @p_Item_Owner VARCHAR(80)
AS 
BEGIN    
    SELECT   
        [Item Owner],
        [Business Name],
        COUNT([Business Name]) 
    FROM     
        ,[TestDB].[dbo].[Status] 
    GROUP BY  
        ,[Item Owner], [Business Name] 
    ORDER BY
        ,[Item Owner]
    FROM     
        ,[dbo].[Status] 
    WHERE    
        ,[Item Owner] = @p_Item_Owner
END

您的代码中有许多错误

可能是这样的:

CREATE PROCEDURE [dbo].[GetStatusByOwner]
   @p_Item_Owner VARCHAR(80)
AS 

   BEGIN     

    SELECT   
          [Item Owner] 
         ,[Business Name]
         ,Count ([Business Name]) 
FROM     [TestDB].[dbo].[Status] 
WHERE    [Item_Owner]=@p_Item_Owner
GROUP BY  
         [Item Owner]
         ,[Business Name] 
ORDER BY [Item Owner]
END
一些解释:

逗号用于分隔同一类型的多个事件,如

SELECT col1, col2, col3 FROM ...
  • 您的示例从
中获得了两次
,这在一次连续的
选择中是不允许的
  • 订购人
    必须是最后一个
  • 分组依据
    必须是排序依据
  • 之前的最后一个(除非有
    具有
  • 其中
    紧跟在
    FROM
    之后(除非有
    加入
    s或
    应用
    s

  • 还有一点:如果只进行读取,那么最好使用
    视图
    或内联函数。存储过程意味着做一些事情…

    代码中有许多错误

    可能是这样的:

    CREATE PROCEDURE [dbo].[GetStatusByOwner]
       @p_Item_Owner VARCHAR(80)
    AS 
    
       BEGIN     
    
        SELECT   
              [Item Owner] 
             ,[Business Name]
             ,Count ([Business Name]) 
    FROM     [TestDB].[dbo].[Status] 
    WHERE    [Item_Owner]=@p_Item_Owner
    GROUP BY  
             [Item Owner]
             ,[Business Name] 
    ORDER BY [Item Owner]
    END
    
    一些解释:

    逗号用于分隔同一类型的多个事件,如

    SELECT col1, col2, col3 FROM ...
    
    • 您的示例从
    中获得了两次
    ,这在一次连续的
    选择中是不允许的
    
  • 订购人
    必须是最后一个
  • 分组依据
    必须是排序依据
  • 之前的最后一个(除非有
    具有
  • 其中
    紧跟在
    FROM
    之后(除非有
    加入
    s或
    应用
    s

  • 还有一点:如果你只做阅读,那么最好使用
    视图
    或内联函数。存储过程意味着做一些事情……

    注意,你对
    项目所有者
    使用了不同的拼写……注意,你对
    项目所有者
    使用了不同的拼写。..