分类: 数据库开发技术
2009-11-25 11:12:44
ALTER procedure [dbo].[AddUserLog](@UserID nvarchar(64), @UserName nvarchar(128), @Logtype nvarchar(64))
as
begin
declare @Count int
declare @Time nvarchar(128)
declare @ExeStr nvarchar(256)
set @Time = year(getdate())*10000 + month(getdate())*100 + day(getdate())
set @UserName = lower(@UserName)
--锁住
begin tran logup
set @Count = (select count(*) from UserLogStat with (rowLOCK) where and )
if @Count > 0
begin
set @ExeStr = 'update UserLogStat set [LogCount] = [LogCount]+1 where [UserID] = ' + @UserID + ' and [Date] = ''' + @Time + ''''
end
else
begin
set @ExeStr = 'insert into UserLogStat(UserID, UserName, Date, Logtype, Logcount) values(' + @UserID + ',''' +
@UserName + ''',''' + @Time + ''',' + @Logtype + ',1)'
end
exec(@ExeStr)
--解锁
commit tran logup
end
if
begin
end
如果begin end之间没有语句的话会报错