[SQL]SP的交易和try cache寫法範例

[SQL]SP的交易和try cache寫法範例

工作維護上有一個專案,專門都是使用sp的方式,現在很少寫純sql的方式,大部份都是使用entity,對sp有點淡忘,所以把一些sp的用法記錄下來,以備自己以後可以查閱,註解我則是都寫在sp裡面

 

AS
BEGIN
	SET NOCOUNT ON;
	begin TRANSACTION;  --開始交易
	begin TRY	
		DECLARE @today DATE
		DECLARE @count int
		set @today=GETDATE()
		select @count=count(*) from DFYCData where TradeDate=@today
		if(@count>0)
		BEGIN
			EXEC SP_AddAsyncAll  --呼叫別的sp
			EXEC SP_MoveAysncAll
			delete DepositeRate where DepositeRateBatchNo<>(select max(DepositeRateBatchNo) from DepositeRate)
		END
	end TRY  
	begin CATCH		
		ROLLBACK TRANSACTION; --如果失敗的話,則跑此行
	end CATCH
	if @@trancount>0
	COMMIT TRANSACTION;
END
GO