SQL Server 2005我希望能够选择一个我声明为变量的函数
我在SQL Server中有一个表,其中包含某些函数的名称 是否可以根据存储在表中的字符串选择函数 通常我会在SSMS中执行以下命令SQL Server 2005我希望能够选择一个我声明为变量的函数,sql,sql-server,tsql,Sql,Sql Server,Tsql,我在SQL Server中有一个表,其中包含某些函数的名称 是否可以根据存储在表中的字符串选择函数 通常我会在SSMS中执行以下命令 SELECT dbo.udfGetFileName () 但是我想通过从表中获取函数名来获得相同的结果 DECLARE @GetFileName VARCHAR(30); SET @GetFileName = (SELECT FunctionName FROM Functions) SELECT @GetFileName () 类似上面的东西,显然变
SELECT dbo.udfGetFileName ()
但是我想通过从表中获取函数名来获得相同的结果
DECLARE @GetFileName VARCHAR(30);
SET @GetFileName = (SELECT FunctionName FROM Functions)
SELECT @GetFileName ()
类似上面的东西,显然变量不起作用,但我想知道我是否能得到一些想法
任何帮助都将不胜感激。您需要将其编写为动态SQL
declare @GetFileName varchar(30);
declare @query nvarchar(1024)
select @GetFileName = functionName from Functions
set @query = 'select ' + @GetFileName
exec sp_executesql @query
您可以将sql构建为字符串,然后使用
sp\u executesql
执行它:
DECLARE @GetFileName VARCHAR(30);
SET @GetFileName = (SELECT FunctionName FROM Functions)
DECLARE @sql nvarchar(1000)
SET @sql = 'select ' + @GetFileName
exec sp_executesql @sql