`
jack1210
  • 浏览: 23140 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

MS SQL SERVER 循环

阅读更多
----******把查询的结果集放到游标中,然后根据游标的状态循环读取********
CREATE PROCEDURE Syncdata_Hypertesionperson
AS
BEGIN
SET NOCOUNT ON;
declare @yks_id varchar(50)
declare @jk_id varchar(50)
-- ************************************修改的操作
    DECLARE CUR_JK_HP CURSOR FOR
select yks.shoufid from dbo.gcv_hypertensionperson_new yks
full join dbo.GK_PersonHypeInfo jk on jk.PHID=yks.shoufid
where --cast(yks.Modify_time as datetime) >= cast((case when jk.SynsDate is null then '2001-01-01' else jk.SynsDate end) as datetime) and
yks.shoufid=jk.PHID and yks.Modify_time>jk.UpdateTime;

OPEN CUR_JK_HP;
FETCH CUR_JK_HP INTO @yks_id;
WHILE @@FETCH_STATUS=0
BEGIN
delete from dbo.GK_PersonHypeInfo where PHID=@yks_id;
exec Syncdata_insert_Hypertesionperson @yks_id;
FETCH NEXT FROM CUR_JK_HP INTO @yks_id;
END;
-- 4.关闭游标
CLOSE CUR_JK_HP;
    -- 5.释放游标
DEALLOCATE CUR_JK_HP;
--**********************************新增的操作 **********/
DECLARE CUR_JK_HP2 CURSOR FOR
select yks.shoufid from dbo.gcv_hypertensionperson_new yks where yks.shoufid not in (select jk.PHID from dbo.GK_PersonHypeInfo jk)
OPEN CUR_JK_HP2;
FETCH CUR_JK_HP2 INTO @yks_id
WHILE @@FETCH_STATUS=0
BEGIN
exec Syncdata_insert_Hypertesionperson @yks_id;
FETCH NEXT FROM CUR_JK_HP2 INTO @yks_id;
END;
CLOSE CUR_JK_HP2;
DEALLOCATE CUR_JK_HP2;
END;
分享到:
评论
Global site tag (gtag.js) - Google Analytics