→ drinks:感謝r版友的幫忙,已經試出來了 06/07 10:10
※ 編輯: drinks 來自: 203.73.175.213 (06/07 10:12)
小弟我想要批次更新table的資料,
語法是這樣的:
update DB1.dbo.table1 set bodynumtext=('01,'+
(select a.class_name from BD2.dbo.table2 a where
a.class_code='01')) where bodynum='01';
把別的資料庫的欄位名稱 更新至我的資料庫,
上面語法是可以正確執行的,
不過 因為需要 00-99 跟000-999 那麼多種,
因為太多資料了,
所以 我就寫了
讓sql跑回圈,
不過 以下指令 可以順利執行,但是都是更新0筆資料
我在猜測 @c的值 是不是錯了?(因為第一次寫 不知如何把@c印出來)
我想要的 @c 的值是要 '00','01'.....到 '99'
煩請大大解惑,感謝!
declare @a int;
declare @b int;
--declare @c varchar;
declare @c varchar(2);
begin
Set @a = 0;
while(@a<=9) begin
Set @b = 0;
while(@b<=9) begin
-- Set @c = ''+@a+''+@b+'';
Set @c = CONVERT(VARCHAR, @a)+CONVERT(VARCHAR, @b);
update BD1.dbo.table1 set bodynumtext=(@c+','+
(select a.class_name from DB2.dbo.table2 a where
a.class_code=@c)) where bodynum=@c;
set @b = @b + 1 ;
end
set @a = @a + 1;
end
end
語法已經更新,注解掉的是我原來的語法
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.73.175.213