代码改变世界

存储过程的循环嵌套(密保卡矩阵)

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