--1)找到表中最大的ob_seq_id比如(100000)得到對應的objectId(500000), 在cpdb.對應的比ob_seq_id大的則是新改變的,需要處理,一種是舊的數據,一種是新的數據
--舊的數據是ob_seq_id > 100000 and objectid <=500000 的是舊數據 ob_seq_id>100000 and objectid >500000 的是新數據
--處理方法,刪除舊數據,統一將ob_seq_id>100000的插入。
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:??<Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[Syn_Com_Data_BySEQ]
AS
BEGIN
declare @SeqID decimal
declare @ObjectID decimal
????select @SeqID = max(ob_seq_id) from [Com_Securities_Info]??
????select @ObjectID = ObjectID from [Com_Securities_Info] where ob_seq_id = @SeqID
????delete from [Com_Securities_Info]??
????????where not exists (select 1 from linkcpdb.cpdb.dbo.tb_public_0007 b
???????????? where Com_Securities_Info.ob_seq_id = b.ob_seq_id)
??and exists (select 1 from linkcpdb.cpdb.dbo.tb_public_0007 c
?????????? where Com_Securities_Info.objectid = c.ob_object_id)
insert into [Com_Securities_Info]
??SElect ob_secid_0007???? SecID,??????--證券主體ID
?? ob_seccode_0007???? StockCode,???? --證券代碼
?? ob_secname_0007???? ShortName,???? --證券簡稱
?? f001v_0007??????ChiSpelling,????--拼音簡稱
?? f016v_0007??????StockName,???? --證券全稱
?? f002v_0007??????StockTypeCode,????--證券類別編碼
?? f003v_0007??????StockType,???? --證券類別
?? f005v_0007??????MarketCode,???? --交易市場編碼
?? f006v_0007??????Market,??????--交易市場
?? f007d_0007??????MarketDate,???? --上市日期
?? f008d_0007??????EndDate,???? --終止上市日期
?? f009n_0007??????InitMarketNum,????--初始上市數量
?? f012v_0007??????CodePropertyCode,?? --代碼屬性編碼
?? f013v_0007??????CodeProperty,????--代碼屬性
?? f014v_0007??????OrgID,??????--發行機構ID
?? f015v_0007??????OrgName,???? --發行機構名稱
?? f017v_0007??????MarketStatusCode,?? --上市狀態編碼
?? f018v_0007??????MarketStatus,????--上市狀態
?? ob_modtime_0007???? ModTime,???? --修改時間
?? ob_rectime_0007???? RecTime,???? --錄入時間
?? ob_isValid_0007???? IsValid,???? --是否有效
?? ob_object_id???? ObjectID,???? --對象ID
?? ob_seq_id????????
from linkcpdb.cpdb.dbo.tb_public_0007
where ob_seq_id >@SeqID
exec [SP_Create_Job]??
?? @jobname='Syn_com_data',????????????????????--作業名稱??
?? @sql='exec dbo.Syn_Com_Data_BySEQ',?????????????????? --要執行的命令??
?? @serverName ='',??????????????????????--job?? server名??
?? @dbname ='',??????????????????????--默認為當前的數據庫名??
?? @freqtype='day',????????????????--時間周期,month?? 月,week?? 周,day?? 日??
?? @fsinterval=30,?????????????????????????? --相對于每日的重復次數(默認1則每天執行一次,否則每天執行多次)
?? @freqUnit ='mm',???? --時間單位,小時hour 分minute
?? @time = 000000
end
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
