sql server动态存储过程按日期保存数据示例
在项目中经常有大量数据信息保存到数据库,如只用一张表保存那肯定不现实,首选解决方案为按日期建立动态表来保存数据。在不改变保存方式的代码的情况下,用动态存储过程是首选,在sql server存储过程中进行日期计算,按日期建表效率最高,下面就公司项目的部分动态存储过程粘贴出来: ALTER proc [dbo].[EventInsert]@chrTagData varchar(50),--编号 @intEData int,@chrJZData varchar(50),@intDYData int,@intXHData int,@createdata datetime,@chrtype varchar(1) --查询条件 as begin declare @chrTitle varchar(1000) set @chrdate =replace(convert(varchar(10),getdate(),120),'-','') set @chrMetabname='SocketMe'+@chrdate if isnull(@chrtype,'')='' select @chrTitle=CategoryTitle from EventCategory where CategoryID=@chrtype ----新建每日信息模拟表1 set @chrsql= ' --------新建信息模拟表2------------ set @chrsql= ' -----模拟环境 判断符合条件的数据则插入---------------------- set @chrsql= ' --插入表一 insert into '+@chrMetabname+' (tabname,TagData,TagDataMe,Content,JZData,EData,DYData,XHData,Type,IfClose,CreateDate,State) --模拟数据 select '''+@chrMetabname+''','''+@chrTagData+''',dbo.funTagDataMeget_all('''+@chrTagData+'''),'''+@chrTitle+',位置:[''+dbo.funGetEvenAddget('''+@chrJZData+''')+'']'','''+@chrJZData+''','''+CAST(@intEData as varchar)+''','''+CAST(@intDYData as varchar)+''','''+CAST(@intXHData as varchar)+''','''+@chrtype+''',''0'',''0'' ----dbo.funGetEvenAddget 为自定义函数 declare @intSMeID int delete '+@chrSendtabname+' whereTagData='''+@chrTagData+''' andtype='''+@chrtype+''' ---插入表二 insert into '+@chrSendtabname+' (TabName,TabPrID,MessTitle,CreateDate) end end ---根据实际业务进行逻辑处理后插入动态表 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |