sql server 有意思的问题...在线等!!!
declare @a vachar(50)
declare @b vachar(50)
set @a= 'id ' --id表示user表中的一个字段名
set @b= 'user ' --user表示一个表
select @a from @b
代码如上,但是这样写执行时出现问题:未定义标量@a
大家明白我的意思了吧,我现在就是想从一个表中查询一个字段的内容,很简单吧?!
其实我也不想这么画蛇添足的去实现它,但是我现在想在数据库中把所有表所存储内容包含“坏人”的
地方都替换成“好人”,我想到的是通过系统表把表和字段找出来然后就能实现了,
但是我上面那段代码执行出现错误,于是我觉得似乎我的想法不可行。有什么好的办法没,请指点,谢谢。
------解决方案--------------------declare @a vachar(50)
declare @b vachar(50)
set @a= 'id ' --id表示user表中的一个字段名
set @b= 'user ' --user表示一个表
print ( 'select '+@a+ ' from '@b+ ' where '+@a+ '= ' '坏人 ' ' ')
exec ( 'select '+@a+ ' from '@b+ ' where '+@a+ '= ' '坏人 ' ' ')
------解决方案--------------------lz定义是搞错了 "declare @a vachar(50) "---> "declare @a varchar(50) "
declare @sql varchar(1000),@a varchar(50),
@b varchar(50)
set @a= 'id '
set @b= 'user '
SET @sql= 'select '+ @a + ' from '+ @b
exec (@sql)
------解决方案---------------------- 呵,是哦,楼主变量定义有问题,笔误吧
declare @a varchar(50)
declare @b varchar(50)
set @a= 'id ' --id表示user表中的一个字段名
set @b= 'user ' --user表示一个表
print ( 'select '+@a+ ' from '@b+ ' where '+@a+ '= ' '坏人 ' ' ')
exec ( 'select '+@a+ ' from '@b+ ' where '+@a+ '= ' '坏人 ' ' ')