首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

帮忙看下话语还是报错

2013-07-09 
帮忙看下语句还是报错declare @m_t varchar(50)declare @m_t1 varchar(50)set @m_tbookset @m_t1张三

帮忙看下语句还是报错
declare @m_t varchar(50)             
declare @m_t1 varchar(50)  
set @m_t='book'
set @m_t1='张三'
update tj set 总金额=(select sum(价格) from '+@m_t+' where 价格>=50 and  
账号 in (select 编号 from buy_book where name='''+@m_t1+''')

执行报错
服务器: 消息 170,级别 15,状态 1,行 5
第 5 行: '+@m_t+' 附近有语法错误。

[解决办法]


declare @m_t1 varchar(50)  
set @m_t='book'
set @m_t1='张三'
declare @str varchar(max)

set @str='
update tj set 总金额=(select sum(价格) from '+@m_t+' where 价格>=50 and  
账号 in (select 编号 from buy_book where name='''+@m_t1+''')
'

exec( @str)

[解决办法]
declare @m_t varchar(50)             
declare @m_t1 varchar(50)  
declare @sql varchar(max)  
set @m_t='book'
set @m_t1='张三'

set @sql='update tj set 总金额=(select sum(价格) from '+@m_t+' where 价格>=50 and  
账号 in (select 编号 from buy_book where name='''+@m_t1+''')'

exec(@sql)

[解决办法]

declare @m_t varchar(50)             
declare @m_t1 varchar(50)  
set @m_t='book'
set @m_t1='张三'
DECLARE @sql VARCHAR(max)
SET @sql='update tj set 总金额=(select sum(价格) from '+@m_t+' where 价格>=50 and  
账号 in (select 编号 from buy_book where name='''+@m_t1+'''))'

EXEC(@sql)


[解决办法]

引用:

执行还是报错呢
服务器: 消息 170,级别 15,状态 1,行 2
第 2 行: ')' 附近有语法错误。



declare @m_t varchar(50)             
declare @m_t1 varchar(50)  
set @m_t='book'
set @m_t1='张三'
declare @str varchar(max)

set @str='
update tj set 总金额=(select sum(价格) from '+@m_t+' where 价格>=50 and  
账号 in (select 编号 from buy_book where name='''+@m_t1+'''))
'


[解决办法]
declare @m_t varchar(50)             
declare @m_t1 varchar(50)  
declare @sql varchar(max)  
set @m_t='book'
set @m_t1='张三'

set @sql='update tj set 总金额=(select sum(价格) from '+@m_t+' where 价格>=50 and  
账号 in (select 编号 from buy_book where name='''+@m_t1+'''))'

exec(@sql)

热点排行