0

你有关于变量语法的简明教程吗?这是存储过程的一部分:

Set @sql = 'Set ' + @calc + '= SUM(datalength(' + @column_name + '))/2 from ' + @table_name 
exec (@sql)

它不起作用 - 我得到一个Error converting data type varchar to numeric.这是模拟的例子:

DECLARE @calc numeric(18,2)
DECLARE @sql nvarchar(1500), @column_name nvarchar(50), @table_name nvarchar(50)
Set @column_name = 'EID'
Set @table_name = 'CTY_SUPPORTED'
Set @sql = 'Select @calc = SUM(datalength(' + @column_name + '))/2 from ' + @table_name
exec (@sql)
print @calc

我有兴趣将以下值归因于变量@calc:SUM(datalength(column_x))/2 from table_x

另外,如果您知道语法课程(最好不是百科全书)-非常感谢,再见!

4

1 回答 1

1
Set @sql = 'Select @calc = SUM(datalength(' + @column_name + '))/2 from ' + @table_name 
exec (@sql)
于 2013-01-05T12:36:48.133 回答