我有一个从表
获取数据的函数CREATE FUNCTION dbo.fxnExample (@Id integer)
RETURNS TABLE
AS
RETURN
(SELECT Name FROM Names WHERE Id = @Id)
然后我在存储过程中调用此函数,该函数也包含参数。
CREATE PROCEDURE [dbo].[test]
@Id int
AS
BEGIN
SELECT *
INTO #ttable
FROM @FUNCTION_NAME(@Id);
END
我需要调用这个存储过程并使用我函数里面的数据。另外我需要在存储过程中获得的函数中传递参数。
我该怎么办?请帮帮我
答案 0 :(得分:0)
你可以在proc
中使用动态sqldeclare @sqlText varchar(max)
set @sqlText = 'SELECT * INTO #ttable FROM ' + @FUNCTION_NAME + '(' + cast(@Id as varchar) + ')'
exec(@sqlText)