存储过程,稍微复杂
2015-10-23 16:20
169 查看
if (exists (select * from sys.objects where name = 'proc_initialization_jz'))
drop proc proc_initialization_jz
go
create proc proc_initialization_jz
as
BEGIN
DECLARE
@A0100 varchar(30),
@A91A2 varchar(30),
@A91AA varchar(30),
@A91A9 varchar(30),
@A91A4 varchar(300),
@syncKey varchar(100),
@MaxI9999 integer,
@I9999 integer,
@jz_str varchar(300)
DECLARE c_jz CURSOR FOR SELECT distinct A0100 FROM USRA91 WHERE A91A7='0';
OPEN c_jz;
FETCH NEXT FROM c_jz INTO @A0100
WHILE (@@FETCH_STATUS = 0)
BEGIN
SET @jz_str=''
DECLARE c_jz1 CURSOR FOR SELECT A91A2,A91AA,A91A9,A91A4 FROM USRA91 WHERE A0100=@A0100 and A91A7='0' order by i9999;
OPEN c_jz1;
FETCH NEXT FROM c_jz1 INTO @A91A2, @A91AA,@A91A9,@A91A4
WHILE (@@FETCH_STATUS = 0)
BEGIN
SELECT @syncKey = GUIDKEY FROM UsrA01 WHERE A0100=@A0100
IF LEN(@jz_str) >0 AND ISNULL(@A91A2,'') <>'' AND ISNULL(@A91AA,'')<>'' AND ISNULL(@A91A9,'')<>'' AND ISNULL(@A91A4,'')<>''
SET @jz_str = @jz_str + ';' +@A91A2+ '@'+ @A91AA + '@' + @A91A9 + '@' + @A91A4
ELSE IF ISNULL(@A91A2,'') <>'' AND ISNULL(@A91AA,'')<>'' AND ISNULL(@A91A9,'')<>'' AND ISNULL(@A91A4,'')<>''
SET @jz_str = @A91A2+ '@'+ @A91AA + '@' + @A91A9 + '@' + @A91A4
FETCH NEXT FROM c_jz1 INTO @A91A2, @A91AA,@A91A9,@A91A4
END;
CLOSE c_jz1;
DEALLOCATE c_jz1;
IF EXISTS(SELECT 1 FROM t_hr_view WHERE t_hr_view.UNIQUE_ID=@syncKey)
BEGIN
UPDATE t_hr_view SET H01ST = @jz_str,sdate = GETDATE() WHERE t_hr_view.UNIQUE_ID=@syncKey;
END;
FETCH NEXT FROM c_jz INTO @A0100
END;
CLOSE c_jz;
DEALLOCATE c_jz;
END
drop proc proc_initialization_jz
go
create proc proc_initialization_jz
as
BEGIN
DECLARE
@A0100 varchar(30),
@A91A2 varchar(30),
@A91AA varchar(30),
@A91A9 varchar(30),
@A91A4 varchar(300),
@syncKey varchar(100),
@MaxI9999 integer,
@I9999 integer,
@jz_str varchar(300)
DECLARE c_jz CURSOR FOR SELECT distinct A0100 FROM USRA91 WHERE A91A7='0';
OPEN c_jz;
FETCH NEXT FROM c_jz INTO @A0100
WHILE (@@FETCH_STATUS = 0)
BEGIN
SET @jz_str=''
DECLARE c_jz1 CURSOR FOR SELECT A91A2,A91AA,A91A9,A91A4 FROM USRA91 WHERE A0100=@A0100 and A91A7='0' order by i9999;
OPEN c_jz1;
FETCH NEXT FROM c_jz1 INTO @A91A2, @A91AA,@A91A9,@A91A4
WHILE (@@FETCH_STATUS = 0)
BEGIN
SELECT @syncKey = GUIDKEY FROM UsrA01 WHERE A0100=@A0100
IF LEN(@jz_str) >0 AND ISNULL(@A91A2,'') <>'' AND ISNULL(@A91AA,'')<>'' AND ISNULL(@A91A9,'')<>'' AND ISNULL(@A91A4,'')<>''
SET @jz_str = @jz_str + ';' +@A91A2+ '@'+ @A91AA + '@' + @A91A9 + '@' + @A91A4
ELSE IF ISNULL(@A91A2,'') <>'' AND ISNULL(@A91AA,'')<>'' AND ISNULL(@A91A9,'')<>'' AND ISNULL(@A91A4,'')<>''
SET @jz_str = @A91A2+ '@'+ @A91AA + '@' + @A91A9 + '@' + @A91A4
FETCH NEXT FROM c_jz1 INTO @A91A2, @A91AA,@A91A9,@A91A4
END;
CLOSE c_jz1;
DEALLOCATE c_jz1;
IF EXISTS(SELECT 1 FROM t_hr_view WHERE t_hr_view.UNIQUE_ID=@syncKey)
BEGIN
UPDATE t_hr_view SET H01ST = @jz_str,sdate = GETDATE() WHERE t_hr_view.UNIQUE_ID=@syncKey;
END;
FETCH NEXT FROM c_jz INTO @A0100
END;
CLOSE c_jz;
DEALLOCATE c_jz;
END
相关文章推荐
- Java 反向代理J2EP
- 一起做RGB-D SLAM (3)
- POJ 1703 Find them, Catch them(带权并查集)
- 触发器--里面涉及触发器调存储过程
- 在labbrand上看到的几个模块
- 自动布局之autoresizingMask
- 第七例:短信监控之内容观察者
- IOS 通过GET方式与服务器通信
- 一起做RGB-D SLAM (2)
- 正则表达式入门
- 论宏定义 #define 摘要
- 用Drawable颜色常数作背景色
- Js获取当前日期时间及其它操作
- 一起做RGB-D SLAM (1)
- Js获取当前日期时间及其它操作
- Android生涯半年祭
- 解决ftp不支持软连接
- 从几幅架构图中偷得半点海量数据处理经验
- MUI-badge数字角标的基本使用
- Android签名证书的sha1值获取