Это моя функция, которая в основном объединяет все данные строк в одну строку. Я знаю, что функция с именем Coallasce доступна, однако просто из любопытства я хочу знать, как я могу изменить эту функцию для динамического приема имен таблиц. В настоящее время он читает только из таблицы Employee.
ALTER FUNCTION [dbo].[ConcatStrig]
(
@TableName varchar(64),
@FieldName varchar(64)
)
RETURNS varchar(max)
AS
BEGIN
Declare @Sql as varchar(max) = ''
Set @Sql = 'Select ' + @FieldName + ' from ' + @TableName
Declare curTemp Cursor For
Select EmpName from sp_executesql(@Sql)
Declare @StrTemp as varchar(max)
Declare @String as varchar(max) = ''
Open curTemp
Fetch Next from curTemp into @StrTemp
While @@Fetch_Status = 0
Begin
Set @String = @String + ' ' + @StrTemp
Fetch Next from curTemp into @StrTemp
End
Close curTemp
Deallocate curTemp
Return @String
END
Заранее спасибо:)