存储过程的循环嵌套(密保卡矩阵)
2009-12-17 02:56 calm_水手 阅读(376) 评论(0) 编辑 收藏 举报代码
1 --=================================================
2 --Auther: by JianwenSha
3 --Creatdate:2009-8-28
4 --Description:循环切割字符串存储矩阵卡信息到数据库
5 --================================================
6
7 ALTER proc Create_seccard
8 @Y varchar(10),--所有的Y坐标值如(ABCD……)
9 @XY varchar(500),--所有的坐标值(随机生成的坐标值串)
10 @SN varchar(20)--该表的序列号
11 as
12 begin
13 declare @YY varchar(50)
14 set @YY=@Y--存储剩余的@Y坐标
15 declare @tmpXY varchar(300)
16 set @tmpXY=@XY-- 存储剩余的坐标值
17 declare @Y1 VARCHAR(20)
18 declare @XY1 varchar(20)
19 declare @num int
20 while (len(@YY)>0)
21 begin
22 set @num=0
23
24 set @Y1 =(select left(@YY,1))--截取Y坐标串中的一个
25
26 set @YY=(select right(@YY,(len(@YY)-1)))--存储剩余的@Y坐标
27
28 while(@num<8)
29 begin
30 set @num=@num+1
31 set @XY1 =(select left(@tmpXY,3))--截取XY坐标值的前三个坐标值
32 set @tmpXY=(select right(@tmpXY,(len(@tmpXY)-3))) -- 存储剩余的坐标值
33 insert into dbo.Tc_pocard values(@SN,@Y1+ltrim(@num),@XY1)
34
35 end
36
37 end
38
39
40 end
41
42
43
2 --Auther: by JianwenSha
3 --Creatdate:2009-8-28
4 --Description:循环切割字符串存储矩阵卡信息到数据库
5 --================================================
6
7 ALTER proc Create_seccard
8 @Y varchar(10),--所有的Y坐标值如(ABCD……)
9 @XY varchar(500),--所有的坐标值(随机生成的坐标值串)
10 @SN varchar(20)--该表的序列号
11 as
12 begin
13 declare @YY varchar(50)
14 set @YY=@Y--存储剩余的@Y坐标
15 declare @tmpXY varchar(300)
16 set @tmpXY=@XY-- 存储剩余的坐标值
17 declare @Y1 VARCHAR(20)
18 declare @XY1 varchar(20)
19 declare @num int
20 while (len(@YY)>0)
21 begin
22 set @num=0
23
24 set @Y1 =(select left(@YY,1))--截取Y坐标串中的一个
25
26 set @YY=(select right(@YY,(len(@YY)-1)))--存储剩余的@Y坐标
27
28 while(@num<8)
29 begin
30 set @num=@num+1
31 set @XY1 =(select left(@tmpXY,3))--截取XY坐标值的前三个坐标值
32 set @tmpXY=(select right(@tmpXY,(len(@tmpXY)-3))) -- 存储剩余的坐标值
33 insert into dbo.Tc_pocard values(@SN,@Y1+ltrim(@num),@XY1)
34
35 end
36
37 end
38
39
40 end
41
42
43