【发布时间】:2012-03-03 15:52:03
【问题描述】:
我正在创建一个存储过程,其中只有值必须通过,并且我必须从多个表中检索多个值。我试图这样做,但它显示错误,如
Begin 附近的语法不正确
和
必须声明标量变量@OrderID
Declare @OrderItemID AS INT
DECLARE @AppointmentID AS INT
DECLARE @PurchaseOrderID AS INT
DECLARE @PurchaseOrderItemID AS INT
DECLARE @SalesOrderID AS INT
DECLARE @SalesOrderItemID AS INT
SET @OrderItemID = (SELECT OrderItemID FROM [OrderItem] WHERE OrderID = @OrderID)
SET @AppointmentID = (SELECT AppoinmentID FROM [Appointment] WHERE OrderID = @OrderID)
SET @PurchaseOrderID = (SELECT PurchaseOrderID FROM [PurchaseOrder] WHERE OrderID = @OrderID)
【问题讨论】:
-
@OrderID在哪里声明?请发布整个过程,您发布的代码中没有BEGIN。另外,为什么要分配给变量然后从不在任何地方使用结果?这些应该是输出参数吗? -
由于我假设一个订单可能有许多订单项目、约会或采购订单,您能描述一下您想将哪个分配给变量吗?按照@Martin 的建议发布所有代码以及发布您的实际目标、一些示例数据和期望的结果也可能会有所帮助。