これは、主にすべての行データを1つの文字列に連結する機能です。私は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
感謝:)