SQL Server (2000/2005) 関数は、テーブル名とフィールド名をパラメーターとして取得し、関数内の動的クエリから結果を返します。Table
結果は、ストアド プロシージャでさらに使用される変数に割り当てる必要があります。これを達成する方法は?
「関数内から実行できるのは、関数と拡張ストアド プロシージャのみです」というエラーが表示されます。
Declare @Data as table (FieldValue varchar(100))
insert into @Data select * from MyFunction ('Person.Address','AddressID')
-- Function
Alter function MyFunction (
@TableName varchar(100), @FieldName varchar(100)
) returns @GetData table (
FieldValue varchar(100)
) as
begin
Declare @SQL varchar(250)
Set @SQL = 'Select '+@FieldName+ ' from '+ @TableName
Exec sp_executesql @SQL
return
end