一:sql语句换行好像会出错 二:调错误最久的是忘记加set 三:一开始是用getdate(),但是格式不对,就用convert转一下 四:发现了一个安全隐患,如果数据库里有重复的数据,就会出错。
改进想法:a:用了三四次sql查询,是否可以减少几次?


CREATE procedure proUpdateRecord
@SessionID varchar(50),
@RecordUser varchar(50),
@RecordIP varchar(50),
@RecordPlatform varchar(255),
@RecordBrowser varchar(255),
@RecordCount int
as
declare @count int
declare @BeginDate DateTime
declare @EndDate DateTime

set @count = (select count(record_user) from user_record where record_user=@RecordUser)
if @count>0
begin
set @RecordCount = (select max record_count from user_record where record_user=@RecordUser)
set @RecordCount = @RecordCount+1
set @EndDate = CONVERT(datetime,CONVERT(char(100),GETDATE(),120))
update User_Record set record_sessionid = @SessionID,record_end_date = @EndDate,record_ip = @RecordIP,record_platform = @RecordPlatform,record_browser =@RecordBrowser,record_count=@RecordCount where record_user=@RecordUser
end
else
begin
set @RecordCount =1
set @BeginDate = CONVERT(datetime,CONVERT(char(100),GETDATE(),120))
set @EndDate = CONVERT(datetime,CONVERT(char(100),GETDATE(),120))
insert user_record(record_sessionid,record_user,record_begin_date,record_end_date,record_ip,record_platform,record_browser,record_count)values (@SessionID,@RecordUser,@BeginDate,@EndDate,@RecordIP,@RecordPlatform,@RecordBrowser,@RecordCount)
end
GO
*