存储过程代码如下,执行时为啥始终说SELECT附近有代码错误?SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[ListOrders]
(
@UserID int
)
AS
SELECT
Orders.OrderID,
Cast(sum(OrderContent.BookQuantity*OrderContent.unitcost)as money)as OrderTotalCost,
Orders.OrderDate
FROM
Orders
INNER JOIN OrderContent ON Orders.OrderID=OrderContent.OrderID
GROUP BY
UserID,
Orders.OrderID,
Orders.OrderDate
HAVING
Orders.UserID=@UserID
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[ListOrders]
(
@UserID int
)
AS
SELECT
Orders.OrderID,
Cast(sum(OrderContent.BookQuantity*OrderContent.unitcost)as money)as OrderTotalCost,
Orders.OrderDate
FROM
Orders
INNER JOIN OrderContent ON Orders.OrderID=OrderContent.OrderID
GROUP BY
UserID,
Orders.OrderID,
Orders.OrderDate
HAVING
Orders.UserID=@UserID
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[ListOrders]
(
@UserID int
)
AS
SELECT
Orders.OrderID,
Cast(sum(OrderContent.BookQuantity*OrderContent.unitcost)as money)as OrderTotalCost,
Orders.OrderDate
FROM
Orders
INNER JOIN OrderContent ON Orders.OrderID=OrderContent.OrderID
where Orders.UserID=@UserID
Orders.UserID=@UserID
GROUP BY
UserID,
Orders.OrderID,
Orders.OrderDate
改成这样。
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[ListOrders]
(
@UserID int
)
AS
SELECT
Orders.OrderID,
Cast(sum(OrderContent.BookQuantity*OrderContent.unitcost)as money)as OrderTotalCost,
Orders.OrderDate
FROM
Orders
INNER JOIN OrderContent ON Orders.OrderID=OrderContent.OrderID
where Orders.UserID=@UserID
Orders.UserID=@UserID
GROUP BY
UserID,
Orders.OrderID,
Orders.OrderDate
Orders.OrderID,
Orders.OrderDate
--GROUP BY 未指定ORDERS.USERID (USERID)
--HAVING 是对结果集过滤,SELECT ... FROM 中未有USERID字段,应加上
-------------------------------
#4楼
此句搞错了,不用在select中指定
对象名 'dbo.ListOrders' 无效。