以下存儲過程主要實現對某表新增一條數據的同時寫入日誌表
CREATE PROCEDURE [dbo].[MJ_SZPG]
@發文日期 DATE ,
@拋光人員 NVARCHAR (50) ,
@拋光機臺 NVARCHAR (50) ,
@拋光時間 NVARCHAR (50) ,
@請求 INT ,
@遞送速度 INT ,
@試做工單號 NVARCHAR (50),
@主旨 NVARCHAR (50) ,
@目的 INT ,
@狀態 INT,
@人員工號 NVARCHAR (20),
@姓名 NVARCHAR (20),
@記錄信息 NVARCHAR (200),
@行為類型 NVARCHAR (50) ,
@備註 NVARCHAR (50),
@ReturnValue INT output--頁面傳參時注意標記 para[15].Direction = ParameterDirection.Output;
<pre class="sql" name="code"> AS
declare @時間 DATETIME =getdate()
declare @表單ID INT
SET NOCOUNT ON;
SET XACT_ABORT ON;
BEGIN TRANSACTION
insert into [dbo].[MJ_試做聯絡單](發文日期,拋光人員,拋光機臺,拋光時間,請求,遞送速度,試做工單號,主旨,
目的,狀態) values(@發文日期,@拋光人員,@拋光機臺,@拋光時間,@請求,@遞送速度,@試做工單號,@主旨,@狀態)
set @表單ID=(select top 1 ID from [dbo].[MJ_試做聯絡單] order by ID desc)
insert into [dbo].[MJ_行為日誌](表單名稱,人員工號,姓名,記錄信息,時間,表單ID,行為類型,備註)
values('MJ_試做拋光聯絡單',@人員工號,@姓名,@記錄信息,@時間,@表單ID,@行為類型,@備註)
set @ReturnValue=@表單ID;
IF @@ERROR>0
BEGIN
ROLLBACK TRANSACTION
RAISERROR('請提交有效數據!',16,1)
RETURN 0
END
ELSE
COMMIT TRANSACTION --執行未成功進行回
滾