以下儲存過程主要實現對某錶新增一條資料的同時寫入日誌表
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;
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
endelse
commit transaction --執行未成功進行回
滾 Sql 儲存過程 事務
alter procedure dbo usp pe delworklogbill id varchar 50 companycode varchar 50 asdeclare errno int set errno 0 begin tran 開始執行事務 delete from opeworklo...
sql事務和儲存過程
一 sql事務 1.什麼是事務 事務是乙個不可分割的工作邏輯單元,在資料庫系統上執行併發操作時事務是做為最小的控制單元來使用的。他包含的所有資料庫操作命令作為乙個整體一起向系提交或撤消,這一組資料庫操作命令要麼都執行,要麼都不執行。2.事務的語句 開始事物 begin transaction 提交事...
sql事務和儲存過程
一 sql事務 1.什麼是事務 事務是乙個不可分割的工作邏輯單元,在資料庫系統上執行併發操作時事務是做為最小的控制單元來使用的。他包含的所有資料庫操作命令作為乙個整體一起向系提交或撤消,這一組資料庫操作命令要麼都執行,要麼都不執行。2.事務的語句 開始事物 begin transaction 提交事...