TSQL:在函数中使用带有tablename的参数

时间:2014-07-09 07:37:13

标签: sql-server tsql sql-function sql-server-2014

使用SQL Server 2014 ...

我正在尝试将此代码转换为在函数中使用...

SET @sqlCommand = N'SELECT @text = ' + @fieldname + ' FROM ' + @tablename +' WHERE ID=''' + CONVERT(NVARCHAR(200), @ID)  + ''''
EXECUTE sp_executesql...

...但函数不接受sp_executesql。

如何在函数中从tablename来自参数的表中获取数据?

2 个答案:

答案 0 :(得分:-1)

无法做到这一点。 如果您愿意,可以使用一些选项,例如:

case when @TableName = 'X' then
   ...
when @TableName = 'Y' then
   ...
else
   ...

答案 1 :(得分:-1)

试试这个:

SET @sqlCommand = N'SELECT ' + @fieldname + ' FROM ' + @tablename +' WHERE ID=''' +   CONVERT(NVARCHAR(200), @ID)  + ''''
EXEC (@sqlCommand)

我删除'@text ='结果将由查询

给出