搬家的时候看到外面的走廊,我的神啊,全是南大的博士后啊。这里真是精英中的精英啊。博士后创业协会也在这里。没办法了,既然来 了就干被,老板似乎和南大有着很强烈的联系关系。这里的研究院的副院长感觉人还蛮好的,估计和我们老板有的关系的饿。管她呢。我是职员 。只负责完整我分内的事情就好了。
今天进行的是数据的整编,累死我了还没完成,将昨天的几个sql数据库重新备份了好多的饿。
三个数据库完成了
一个是13位编码的
一个是9位-12位编码的
一个是8位以下编码的
今天要做的事情就是根据他们的类别编号,将他们进行重新编码。好了,我们开始编码吧,
首先我是这么想的,编码不可能那么简单的完成,因为里面的数据类型不同,于是我就偷了点小技巧。看里面整合之后多的就按4位加三个0和一位编码。多的就4位加两个0和两位编码。
这么想肯定是不是最好的解决办法,但是谁让我们基础不怎么样子的呢 。好了。
下面是心建立一个游标。我的游标就可以体现出我的方法。。
DECLARE
YOUBIAO_222
CURSOR
FOR
SELECT item_no,item_clsno,modify_date FROM dbo.t8wei_0wei_table
-- --建立游标尝试
上面你可以看出 我是取出了三个字段,根据这三个字段进行分辨,和添加编码
SELECT item_no,item_clsno,modify_date FROM dbo.t8wei_0wei_table
-- --建立游标尝试
下面就是说复杂也不复杂的小的sql程序
DEALLOCATE
YOUBIAO_222
CLOSE YOUBIAO_222
OPEN YOUBIAO_222
DECLARE
@item_no nvarchar ( 510 ),
@item_clsno varchar ( 510 ),
@modify_date smalldatetime ,
@item_clsno2 varchar ( 510 ),
@bianliang int ,
@bianliangvarchar nvarchar ( 510 )
Fetch next from YOUBIAO_222
INTO @item_no , @item_clsno , @modify_date
set @bianliang = 1
set @item_clsno2 = @item_clsno
set @bianliangvarchar = ' 00 ' + cast ( @bianliang as nvarchar ( 510 ))
UPDATE dbo.t8wei_0wei_table2
SET item_subno = @item_clsno + @bianliangvarchar
WHERE item_no = @item_no and modify_date = @modify_date
WHILE @@FETCH_STATUS = 0
BEGIN
Fetch next from YOUBIAO_222
INTO @item_no , @item_clsno , @modify_date
if @item_clsno2 = @item_clsno
begin
set @bianliang = @bianliang + 1
set @bianliangvarchar = ' 00 ' + cast ( @bianliang as nvarchar ( 510 ))
UPDATE dbo.t8wei_0wei_table2
SET item_subno = @item_clsno + @bianliangvarchar
WHERE item_no = @item_no and modify_date = @modify_date
end
else
begin
set @item_clsno2 = @item_clsno
set @bianliang = 1
set @bianliangvarchar = ' 00 ' + cast ( @bianliang as nvarchar ( 510 ))
UPDATE dbo.t8wei_0wei_table2
SET item_subno = @item_clsno + @bianliangvarchar
WHERE item_no = @item_no and modify_date = @modify_date
end
END
好了,更据上面的写入我们就可以发现什么都按照我的意思走了,但是有的编码不是8位怎么办理呢。。
CLOSE YOUBIAO_222
OPEN YOUBIAO_222
DECLARE
@item_no nvarchar ( 510 ),
@item_clsno varchar ( 510 ),
@modify_date smalldatetime ,
@item_clsno2 varchar ( 510 ),
@bianliang int ,
@bianliangvarchar nvarchar ( 510 )
Fetch next from YOUBIAO_222
INTO @item_no , @item_clsno , @modify_date
set @bianliang = 1
set @item_clsno2 = @item_clsno
set @bianliangvarchar = ' 00 ' + cast ( @bianliang as nvarchar ( 510 ))
UPDATE dbo.t8wei_0wei_table2
SET item_subno = @item_clsno + @bianliangvarchar
WHERE item_no = @item_no and modify_date = @modify_date
WHILE @@FETCH_STATUS = 0
BEGIN
Fetch next from YOUBIAO_222
INTO @item_no , @item_clsno , @modify_date
if @item_clsno2 = @item_clsno
begin
set @bianliang = @bianliang + 1
set @bianliangvarchar = ' 00 ' + cast ( @bianliang as nvarchar ( 510 ))
UPDATE dbo.t8wei_0wei_table2
SET item_subno = @item_clsno + @bianliangvarchar
WHERE item_no = @item_no and modify_date = @modify_date
end
else
begin
set @item_clsno2 = @item_clsno
set @bianliang = 1
set @bianliangvarchar = ' 00 ' + cast ( @bianliang as nvarchar ( 510 ))
UPDATE dbo.t8wei_0wei_table2
SET item_subno = @item_clsno + @bianliangvarchar
WHERE item_no = @item_no and modify_date = @modify_date
end
END
我是这么想的少的话就可以自己加,多的话就要用程序重新实现一下子了。
好了今天就到这里了,娟儿似乎很难过,我也有点,但是忙活了一天,我真希望继续忙活下去。日子真不做。我爱生活。