spupdateorder.sql

来自「微软的行业应用解决方案示例」· SQL 代码 · 共 42 行

SQL
42
字号
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE PROCEDURE spUpdateOrder
    @OrderId UniqueIdentifier,
    @CustomerId Int,
    @DeliveryDate DateTime,
    @OrderState Int,
    @Signature VarBinary,
    @sync_last_received_anchor Int,
    @sync_row_count Int Output
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;
	
	--update only if last cyns received is greater than or equal the row's version
	UPDATE [HardwareDistributor].[dbo].[Orders]
       SET [CustomerId] = @CustomerId
          ,[DeliveryDate] = @DeliveryDate
          ,[OrderState] = @OrderState
          ,[Signature] = @Signature
     FROM Orders AS O
     WHERE 
			O.[OrderId] = @OrderId
     AND	@sync_last_received_anchor >= 
						ISNULL(
								(SELECT CT.SYS_CHANGE_VERSION 
								FROM CHANGETABLE(VERSION Orders, (OrderId), (O.OrderId)) AS CT),
							0)

     SET @sync_row_count = @@ROWCOUNT;
END
GO

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?