--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