有没有办法创建一个使用动态创建的SQL语句返回表的自定义函数?
到目前为止,我尝试过像
这样的事情ALTER function [dbo].[Test2] (@Mandant smallint)
RETURNS
@Ergebnis TABLE ([Kundennummer] int,[Suchbegriff] nvarchar(20))
AS
BEGIN
DECLARE @curTable cursor
DECLARE @str nvarchar(1024)
DECLARE @Kundennummer int;
DECLARE @Suchbegriff nvarchar(20);
SET @str = 'set @curTable = CURSOR FOR SELECT KdNr, Match FROM ADR_030 where KdNr <> 0; OPEN @curTable'
EXEC sp_executesql @str, N'@curTable cursor OUTPUT', @curTable OUTPUT
fetch next from @curTable into @Kundennummer, @Suchbegriff;
WHILE @@FETCH_STATUS = 0
BEGIN
insert into @Ergebnis values (@Kundennummer, @Suchbegriff)
FETCH NEXT FROM @curTable into @Kundennummer, @Suchbegriff;
END;
close @curTable;
deallocate @curTable;
return
end
但执行函数时只是出错。
希望有人可以帮助我。
谢谢,
克里斯
答案 0 :(得分:0)
您可以使用CLR。但是,在普通的T-SQL中无法做到这一点。