一个简单游标,依次print表test的name字段
declare @name varchar(50)
declare @sql varchar(100)
declare csr1 cursor
for
select name from test
open csr1FETCH NEXT FROM csr1 INTO @name
while (@@FETCH_STATUS=0)
BEGIN
print @name
fetch next from csr1 into @name
END
CLOSE csr1
DEALLOCATE csr1
declare @name varchar(50)
declare @sql varchar(100)
declare csr1 cursor
for
select name from test
open csr1FETCH NEXT FROM csr1 INTO @name
while (@@FETCH_STATUS=0)
BEGIN
print @name
fetch next from csr1 into @name
END
CLOSE csr1
DEALLOCATE csr1
declare @sql varchar(100)
declare csr1 cursor
for
select 你的列 from test
open csr1FETCH NEXT FROM csr1 INTO @id
while (@@FETCH_STATUS=0)
BEGIN
if id=10
begin
--在这里进行你的处理
end
if id=100
begin
--在这里进行你的处理
end
……
fetch next from csr1 into @id
END
CLOSE csr1
DEALLOCATE csr1
declare @row intdeclare tb cursor local for select * from 表
open tb
fetch next from tb
set @row=1 --行号
while @@fetch_status=0
begin
if @row betwenn 10 and 1000
update 表 set 字段='abc' where current of tb
else if @row between 2000 and 5000
update 表 set 字段='cde' where current of tb
else
update 表 set 字段='efg' where current of tb
fetch next from tb
set @row=@row+1
end
close tb
deallocate tb
select * from 表
............
if id= 100为什么是等于啊~~?
未什么不是
if id>=10
........
if id<=100呢~~?
if id>=10
........
if id<=100
对了,id前面少了@
应该是
declare @id int
declare @sql varchar(100)
declare csr1 cursor
for
select 你的列 from test
open csr1FETCH NEXT FROM csr1 INTO @id
while (@@FETCH_STATUS=0)
BEGIN
if @id>=10
begin
--在这里进行你的处理
end
if @id<=100
begin
--在这里进行你的处理
end
……
fetch next from csr1 into @id
END
CLOSE csr1
DEALLOCATE csr1
=case when 某字段 when 10 and 1000 then 'abc'
when 某字段 when 5000 and 10000 then 'cde'
when 某字段 when 15000 and 20000 then 'efg'
else 'other' end
ye ---月份
kmdm ---科目代码
je ---金额
pd ---判断
要求:
满足科目代码的值在204001至204999之间的数据行,update pd数值为1
反之 pd数值为2。多多谢~~!
SET PD=CASE WHEN kmdm BETWEEN '2004001' AND '2004999' THEN 1
ELSE 2
END
declare @kmdm char(10)
set @kmdm ="between '204001' and '204999'"可是传入变量时: kmdm=@kmdm 就成了 kmdm = between '204001' and '204999',=和between同时存在,语法错误~~!该咋办啊`~!?郁闷ing......~~!
ye ---月份
kmdm ---科目代码
je ---金额
pd ---判断--得到第5行的je
declare @je money,@row int
set @row=0
select @row=@row+1,@je=case @row when 5 then je else @je from 表
select 结果=@je