P东风 2014-09-23 08:46
浏览 2487

将查询到的结果分别赋值给不同的变量??

declare @tablename varchar(100)='Bsheet',--示例表
@keyname varchar(80),
@keyname1 varchar(80),
@keyname2 varchar(80),
@keyname3 varchar(80),
@keyname4 varchar(80),
@keyname5 varchar(80),
@i int =0,
@sql1 Nvarchar(1000);

declare C cursor fast_forward READ_ONLY
for
select rtrim(b.name) as Keycolname --这段代码得到这个表所有主键>2
from sysobjects a,syscolumns b ,

(
select g.id,g.colid,g.keyno

from sysindexes f,sysindexkeys g

where f.id = g.id and f.indid = g.indid and f.indid > 0

and f.indid < 255 and (f.status & 2048)<>0
) h
where a.id = b.id

and a.id = object_id(@tablename)
and b.id = h.id

and b.colid = h.colid

order by h.keyno
open C
fetch next from C into @keyname;
while @@FETCH_STATUS =0
begin
set @i = @i+1;
set @sql1=N'set @keyname'+CAST(@i as varchar(8))+'='+@keyname
exec (@sql1);
fetch next from C into @keyname;
end

close C
deallocate C;

select @keyname1,@keyname2,@keyname3,@keyname4,@keyname5

--这个游标就是想实现类似这样的功能:
set @keyname1=@keyname;
set @keyname2=@keyname;
set @keyname3=@keyname;
set @keyname4=@keyname;
set @keyname5=@keyname;

结果他报错了。请问高手如何实现??其他方法不限。

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 怎么在stm32门禁成品上增加记录功能
    • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
    • ¥50 NT4.0系统 STOP:0X0000007B
    • ¥15 想问一下stata17中这段代码哪里有问题呀
    • ¥15 flink cdc无法实时同步mysql数据
    • ¥100 有人会搭建GPT-J-6B框架吗?有偿
    • ¥15 求差集那个函数有问题,有无佬可以解决
    • ¥15 【提问】基于Invest的水源涵养
    • ¥20 微信网友居然可以通过vx号找到我绑的手机号
    • ¥15 解riccati方程组