储存过程例子一

系统 1826 0

--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元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论