create proc usp_CloseEvent
@UserGUID VARCHAR(40), --当前处理人的GUID
@EventGUID VARCHAR(40),--事件单GUID
@Hb VARCHAR(40), --汇报人
@Jzqk VARCHAR(40), --事件单状况
@res VARCHAR(4000), --处理说明
@CloseCode VARCHAR(40),--关闭代码
@EventQy VARCHAR(40),--事件起因
@FwMethod VARCHAR(10),--服务方式
@FeedBack VARCHAR(4000), --反馈意见
@stamp VARCHAR(100),
@strET VARCHAR(50),
@strE1 VARCHAR(50),
@strE2 VARCHAR(50),
@strE3 VARCHAR(50)
AS
DECLARE @count int
DECLARE @strDepartment VARCHAR(40)
DECLARE @strGW VARCHAR(20)
DECLARE @date VARCHAR(24)
DECLARE @tstamp bigint
begin
SET @date = getdate()
SET @count =0
set xact_abort ON
SELECT @strDepartment=CONVERT(varchar(40),DepartmentGUID),@strGW =JobTitle FROM myuser WHERE USERGUID = @UserGUID
SELECT @tstamp =convert(bigint,@stamp)
BEGIN TRANSACTION
BEGIN
---插入数据到处理过程
INSERT INTO Itsm_ProcessReport (ProcessGUID,EventGUID,ProcessTime,ProcessContent,Hander,Receiver,Res) VALUES (newid(),@EventGUID,@date,'关闭事件单',@Hb,'',@res)
SET @count = @count + @@ERROR
IF @count <> 0
BEGIN
GOTO ERRORHANDLE
END
END
BEGIN
---更新事件单信息
UPDATE Itsm_EventInfo SET EventStatus = @Jzqk,OldStatus= @Jzqk, EventQy = @EventQy ,FwMethod = @FwMethod , CloseCode = @CloseCode , FeedBack = @FeedBack, CloseTime = @date , CloserGUID = @UserGUID,EventLevel=@strET,EventLevel1=@strE1,EventLevel2=@strE
2,EventLevel3=@strE3 WHERE EventGUID=@EventGUID AND CONVERT(bigint,EventStamp) = @tstamp
IF @@rowcount=0
BEGIN
GOTO ERRORBF
END
SET @count = @count + @@ERROR
IF @count <> 0
BEGIN
GOTO ERRORHANDLE
END
END
IF @count=0
begin
COMMIT TRANSACTION
SELECT 'SUCCESS'
end
ERRORHANDLE:
begin
ROLLBACK TRANSACTION
SELECT 'FAILED'
END
ERRORBF:
begin
ROLLBACK TRANSACTION
SELECT 'BF'
end
END
解决方案 »
- 安装不上SQL2005问题
- sql更新日期问题
- 请高手指点一下这条sql语句什么意思
- 如何将现有数据库从MSSql 2000升级到MSSql 2005
- 怎么把sql server的一些表的数据导进mysql去?
- 此订阅已存在,但是在本地订阅下却看不到
- 用eclipse连接msserver2005连接不上,我的数据库设置的是本地连接,求大神帮忙,程序没错!
- 一个简单问题,各位高手帮帮忙~!
- SQL SERVER 中如将查询出来的记得自动添加一列作为记录的位置(行号);
- B/S结构应用程序开发秘笈-www.vb.com.cn
- 想把数据库所有表中数据类型为 numeric 的列设一个默认值0,要如何做?
- 没看懂语句,求解释~在线等
begin
COMMIT TRANSACTION
SELECT 'SUCCESS'
RETURN
end
@UserGUID VARCHAR(40), --当前处理人的GUID
@EventGUID VARCHAR(40),--事件单GUID
@Hb VARCHAR(40), --汇报人
@Jzqk VARCHAR(40), --事件单状况
@res VARCHAR(4000), --处理说明
@CloseCode VARCHAR(40),--关闭代码
@EventQy VARCHAR(40),--事件起因
@FwMethod VARCHAR(10),--服务方式
@FeedBack VARCHAR(4000), --反馈意见
@stamp VARCHAR(100),
@strET VARCHAR(50),
@strE1 VARCHAR(50),
@strE2 VARCHAR(50),
@strE3 VARCHAR(50)
AS
DECLARE @count int
DECLARE @strDepartment VARCHAR(40)
DECLARE @strGW VARCHAR(20)
DECLARE @date VARCHAR(24)
DECLARE @tstamp bigint
begin
SET @date = getdate()
SET @count =0
set xact_abort ON
SELECT @strDepartment=CONVERT(varchar(40),DepartmentGUID),@strGW =JobTitle FROM myuser WHERE USERGUID = @UserGUID
SELECT @tstamp =convert(bigint,@stamp)
BEGIN TRANSACTION
BEGIN
---插入数据到处理过程
INSERT INTO Itsm_ProcessReport (ProcessGUID,EventGUID,ProcessTime,ProcessContent,Hander,Receiver,Res) VALUES (newid(),@EventGUID,@date,'关闭事件单',@Hb,'',@res)
SET @count = @count + @@ERROR
IF @count <> 0
BEGIN
GOTO ERRORHANDLE
END
END
BEGIN
---更新事件单信息
UPDATE Itsm_EventInfo SET EventStatus = @Jzqk,OldStatus= @Jzqk, EventQy = @EventQy ,
FwMethod = @FwMethod , CloseCode = @CloseCode , FeedBack = @FeedBack, CloseTime = @date ,
CloserGUID = @UserGUID,EventLevel=@strET,EventLevel1=@strE1,EventLevel2=@strE2,EventLevel3=@strE3
WHERE EventGUID=@EventGUID AND CONVERT(bigint,EventStamp) = @tstamp
IF @@rowcount=0
BEGIN
GOTO ERRORBF
END
SET @count = @count + @@ERROR
IF @count <> 0
BEGIN
GOTO ERRORHANDLE
END
END
IF @count=0
begin
COMMIT TRANSACTION
SELECT 'SUCCESS'
end
return
ERRORHANDLE:
begin
ROLLBACK TRANSACTION
SELECT 'FAILED'
END
ERRORBF:
begin
ROLLBACK TRANSACTION
SELECT 'BF'
end
END
begin
ROLLBACK TRANSACTION
SELECT 'FAILED'
END
ERRORBF:
begin
ROLLBACK TRANSACTION
SELECT 'BF'
end
也要加上return
begin
ROLLBACK TRANSACTION
SELECT 'FAILED'
END
ERRORBF:
begin
ROLLBACK TRANSACTION
SELECT 'BF'
end 是不是也要加上return