主頁 > 知識(shí)庫 > sql server動(dòng)態(tài)存儲(chǔ)過程按日期保存數(shù)據(jù)示例

sql server動(dòng)態(tài)存儲(chǔ)過程按日期保存數(shù)據(jù)示例

熱門標(biāo)簽:電銷機(jī)器人被曝光 地圖標(biāo)注一個(gè)圓圈怎么用 真人語音電銷機(jī)器人 洛陽外呼系統(tǒng)平臺(tái) 廣州人工電銷機(jī)器人費(fèi)用 400外呼系統(tǒng)合法 寧波人工外呼系統(tǒng)有效果嗎 怎樣把地圖標(biāo)注導(dǎo)入公司地址 如何在地圖標(biāo)注自己店鋪

在項(xiàng)目中經(jīng)常有大量數(shù)據(jù)信息保存到數(shù)據(jù)庫,如只用一張表保存那肯定不現(xiàn)實(shí),首選解決方案為按日期建立動(dòng)態(tài)表來保存數(shù)據(jù)。在不改變保存方式的代碼的情況下,用動(dòng)態(tài)存儲(chǔ)過程是首選,在sql server存儲(chǔ)過程中進(jìn)行日期計(jì)算,按日期建表效率最高,下面就公司項(xiàng)目的部分動(dòng)態(tài)存儲(chǔ)過程粘貼出來:

-----sql語句:

ALTER proc [dbo].[EventInsert]
@chrTagData varchar(50), --編號(hào)
@intEData int,
@chrJZData varchar(50),
@intDYData int,
@intXHData int,
@createdata datetime,
@chrtype varchar(1) --查詢條件
as
begin

declare @chrTitle varchar(1000)
declare @chrSql nvarchar(4000)
declare @chrdate varchar(50)
declare @chrMetabname varchar(50) --每日新建報(bào)警新表名
declare @chrSendtabname varchar(50) --每日新建消息彈出框新表名
declare @chrSockDatatabname varchar(50) --每日原始數(shù)據(jù)新表名

set @chrdate =replace(convert(varchar(10),getdate(),120),'-','')

set @chrMetabname='SocketMe'+@chrdate
set @chrSendtabname='MessSend'+@chrdate
set @chrSockDatatabname='SockData'+@chrdate

if isnull(@chrtype,'')=''
begin
return
end

select @chrTitle=CategoryTitle from EventCategory where CategoryID=@chrtype

----新建每日信息模擬表1

set @chrsql= '
if not exists(select 1 from sysobjects where name='''+@chrMetabname+''' and type=''U'')
begin
CREATE TABLE '+@chrMetabname+'(
SMeID int IDENTITY(1,1) primary key,
tabname varchar(50),
TagData varchar(50),
TagDataMe varchar(500),
Pcount int NULL,
Content varchar(5000),
UserID int NULL,
JZData varchar(50),
EData int,
DYData int,
XHData int,
Type varchar(1),
State varchar(1),
IfClose varchar(1),
CloseDate datetime,
CreateDate datetime, 
)
end
'
--print @chrsql 
exec(@chrsql)

--------新建信息模擬表2------------

set @chrsql= '
if not exists(select 1 from sysobjects where name='''+@chrSendtabname+''' and type=''U'')
begin
CREATE TABLE '+@chrSendtabname+'(
MessID int IDENTITY(1,1) primary key,
TabName varchar(50),
TabPrID int,
MessTitle varchar(500),
TagData varchar(50),
TagDataMe varchar(1000),
Content varchar(2000),
Type varchar(1),
CreateDate datetime
)
end
'
--print @chrsql 
exec(@chrsql)

-----模擬環(huán)境 判斷符合條件的數(shù)據(jù)則插入----------------------

set @chrsql= '
if not exists(select 1 from '+@chrMetabname+' whereTagData='''+@chrTagData+''' and type='''+@chrtype+''' and IfClose=''0'')
begin

--插入表一

insert into '+@chrMetabname+' (tabname,TagData,TagDataMe,Content,
JZData,EData,DYData,XHData,Type,IfClose,CreateDate,State)

--模擬數(shù)據(jù)

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'',getdate(),''0''

----dbo.funGetEvenAddget 為自定義函數(shù)

declare @intSMeID int
declare @chrtempdate varchar(50)
set @intSMeID =@@identity 

delete '+@chrSendtabname+' whereTagData='''+@chrTagData+''' andtype='''+@chrtype+'''

---插入表二

insert into '+@chrSendtabname+' (TabName,TabPrID,MessTitle,TagData,Content,Type,CreateDate)
select '''+@chrMetabname+''',@intSMeID,dbo.funTagDataMeget_all('''+@chrTagData+''')+'''+@chrTitle+''','''+@chrTagData+''',
dbo.funTagDataMeget_all('''+@chrTagData+''')+'''+@chrTitle+',位置:[''+dbo.funGetEvenAddget('''+@chrJZData+''')+'']'','''+@chrtype+''',getdate()

end 
' 
print @chrsql
exec(@chrsql)

end

---根據(jù)實(shí)際業(yè)務(wù)進(jìn)行邏輯處理后插入動(dòng)態(tài)表

標(biāo)簽:南昌 石家莊 煙臺(tái) 珠海 晉中 東營 咸寧 北海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《sql server動(dòng)態(tài)存儲(chǔ)過程按日期保存數(shù)據(jù)示例》,本文關(guān)鍵詞  sql,server,動(dòng)態(tài),存儲(chǔ),過程,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《sql server動(dòng)態(tài)存儲(chǔ)過程按日期保存數(shù)據(jù)示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于sql server動(dòng)態(tài)存儲(chǔ)過程按日期保存數(shù)據(jù)示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章