双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

SQL2000存储过程中动态sql

bedsb bedsb 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
数据表中有12列,M1,M2.........M12对应12个月的重量,我想数据 取到的 weight重量,根据月份分别UPDATE相应的列。如现在201701月就UPDATE M1字段。。以此类推。
我想在生成SQL语句。。

declare @wk_yy varchar(4)
declare @wk_mm varchar(2),
@sql varchar(5000),
@line_no varchar(2),
@wlmc_no1 varchar(2),
@weight numeric(18,6)
set @wk_mm = '01'
set @weight = 2
set @sql = 'update cb_tbfyhjbs set m'+@wk_mm+ '=' + @weight --+ 'where wk_yymm = '+@wk_yy --+
-- 'and line_no = '+@line_no+ 'and wlmc_no1 = ' + @wlmc_no1+''
print @sql
exec( 'update cb_tbfyhjbs set m'+@wk_mm+ '=' + @weight +
'where wk_yymm = '2016' '
'and line_no = '+@line_no+ 'and wlmc_no1 = ' + @wlmc_no1')'
这样的话一直提示
服务器: 消息 8114,级别 16,状态 5,行 9
将数据类型 varchar 转换为 numeric 时出错。
不知道怎么弄了
...全文
评论 7
收藏 已收藏
分享
返回顶部
bedsb
MS-SQL Server 34,876 成员 254,635 内容