存储过程变量赋值
0
请教个问题,我想从一个表里面获取合计数据,然后赋值给一个变量,表名、字段名都是变量的,我是这样写的,执行提示 无法将char值转换为money,我试了如果表名和字段名不是变量,没问题,我错在哪里?
alter procedure bbb @tablename1 varchar(20),@fieldname1 varchar(20) as
declare @sum1 money
declare @sql varchar(500)
set @sql='select '+@sum1+'=(select SUM(' + @fieldname1 + ') from ' +@tablename1+')'
print @sql
exec (@sql)
print @sum1
exec bbb 'charge','dbo.G_Study_Count_172310'
如果改成这样,提示必须声明标量变量'@sum1'
alter procedure bbb @tablename1 varchar(20),@fieldname1 varchar(20) as
declare @sum1 money
declare @sql varchar(500)
set @sql='select @sum1=(select SUM(' + @fieldname1 + ') from ' +@tablename1+')'
print @sql
exec (@sql)
print @sum1
alter procedure bbb @tablename1 varchar(20),@fieldname1 varchar(20) as
declare @sum1 money
declare @sql varchar(500)
set @sql='select '+@sum1+'=(select SUM(' + @fieldname1 + ') from ' +@tablename1+')'
print @sql
exec (@sql)
print @sum1
exec bbb 'charge','dbo.G_Study_Count_172310'
如果改成这样,提示必须声明标量变量'@sum1'
alter procedure bbb @tablename1 varchar(20),@fieldname1 varchar(20) as
declare @sum1 money
declare @sql varchar(500)
set @sql='select @sum1=(select SUM(' + @fieldname1 + ') from ' +@tablename1+')'
print @sql
exec (@sql)
print @sum1
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
1 个回复
GeorgeYao - 路漫漫其修远兮,吾将上下而求索! 2016-11-10 回答
赞同来自: