Stored procedures 如何更正包含group和order子句的存储过程的语法?
我编写了一个包含group和ORDERBY子句的存储过程,这与我以前创建的过程不同 我调试了错误 “,”附近的语法不正确 但是脱离了以前的存储过程。我在每个列和表名后面设置了逗号,但为了执行,没有更正语法 在创建存储过程时,在放置逗号方面是否有语法规则要遵循 这是一个示例存储过程,其中包含由于SQL Server Management Studio中逗号周围出现语法错误而无法执行的子句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
:
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
还有一点:如果你只做阅读,那么最好使用视图
或内联函数。存储过程意味着做一些事情……注意,你对项目所有者
使用了不同的拼写……注意,你对项目所有者
使用了不同的拼写。..