R
raider
Unregistered / Unconfirmed
GUEST, unregistred user!
我现在有一个数据库,字段
A primary B1 char(8) B2 char(8) ... B10 Char(8), Sel Char(8)
问题一:
现在我得在 SQL Server7.0 存储过程中依次处理B1, B2, ..B10字段,而且
处理过程是一样的。但是我
Declare @Str char(2), @I int
Set @I = 1
While (@I<=10)
begin
Set @Str = 'B' + Str(I)
Select * from DataBase where @Str = '100'
Set @I = @I + 1
end
是不行的,那么怎样在Select语句中,使条件字段能动态改变?
问题二
假设在上面的数据库中,满足B1 =@ClsNumber的记录有1000个,我现在要
按某种排序取前n个去update,但是这个n是从别的库中读取得,也是一个
变量,则
UPDATE Database1 Set Sel = @ClsNumber FROM
(SELECT TOP @n * FROM DataBase1 where b1 = @ClsNumber
ORDER BY A DESC)
AS t1 WHERE DataBase1.A = t1.A
也不行!因为同样在Select Top 后面不能是变量!
请问这该怎么解决?我现在只能用光标
多谢!
A primary B1 char(8) B2 char(8) ... B10 Char(8), Sel Char(8)
问题一:
现在我得在 SQL Server7.0 存储过程中依次处理B1, B2, ..B10字段,而且
处理过程是一样的。但是我
Declare @Str char(2), @I int
Set @I = 1
While (@I<=10)
begin
Set @Str = 'B' + Str(I)
Select * from DataBase where @Str = '100'
Set @I = @I + 1
end
是不行的,那么怎样在Select语句中,使条件字段能动态改变?
问题二
假设在上面的数据库中,满足B1 =@ClsNumber的记录有1000个,我现在要
按某种排序取前n个去update,但是这个n是从别的库中读取得,也是一个
变量,则
UPDATE Database1 Set Sel = @ClsNumber FROM
(SELECT TOP @n * FROM DataBase1 where b1 = @ClsNumber
ORDER BY A DESC)
AS t1 WHERE DataBase1.A = t1.A
也不行!因为同样在Select Top 后面不能是变量!
请问这该怎么解决?我现在只能用光标
多谢!