SQL SERVER一个动态字段的问题

refugeetaotao 2006-12-29 12:06:59
我现在正想实现
declare @id char(10)
declare @tablename sysname
set @tblename = outputtbale
set @id = 'storageid'
exec('declare cur1 cursor scroll for select ' + @id + ' from' + @tablename)
但是, 在执行的时候长长报错误: @id列名无效

但是,exec('declare cur1 cursor scroll for select storageid from' + @tablename)
就可以通过了.
是不是SQL SERVER里面不能够实现字段名的动态实现的.还是有办法只是我的思路有有问题
请指教
谢谢
...全文
114 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
baggio328 2006-12-29
  • 打赏
  • 举报
回复
--> try too

declare @id char(10)
declare @tablename sysname
set @tblename = outputtbale
// 改为 set @tablename = 'outputtable'
set @id = 'storageid'
exec('declare cur1 cursor scroll for select ' + @id + ' from' + @tablename)
//改为 exec('declare cur1 cursor scroll for select ' + @id + ' from ' + @tablename)
或者 exec('declare cur1 cursor scroll for select [' + @id + '] from [' + @tablename + ']')
marco08 2006-12-29
  • 打赏
  • 举报
回复
--try

declare @id char(10)
declare @tablename sysname
set @tblename = 'outputtbale'
set @id = 'storageid'
exec('declare cur1 cursor scroll for select [' + @id + '] from [' + @tablename+']')
zxbyhcsdn 2006-12-29
  • 打赏
  • 举报
回复
倒!!
chuifengde 2006-12-29
  • 打赏
  • 举报
回复
set @tblename = 'outputtbale'
userqin 2006-12-29
  • 打赏
  • 举报
回复
from后面应该加个空格,
set @tblename = outputtbale --拼写错误 @tablename
zxbyhcsdn 2006-12-29
  • 打赏
  • 举报
回复
吧你的动态Sql print处来

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧