テーブル(またはテーブル変数)を入力パラメータとして受け取り、テーブル値をパラメータとして返す関数を作成する必要があります。これは、次の制約で可能です:テーブルをパラメータとして取り、テーブルを返す関数を作成できますか?
- SQL Server 2005の
- CLR機能はオプションではありません
スターターとして任意のコード例が参考になる(TSQL専用でなければなりません)。あなたは、SQL Serverのテーブルまでパラメータタイプを使用することはできません
テーブル(またはテーブル変数)を入力パラメータとして受け取り、テーブル値をパラメータとして返す関数を作成する必要があります。これは、次の制約で可能です:テーブルをパラメータとして取り、テーブルを返す関数を作成できますか?
スターターとして任意のコード例が参考になる(TSQL専用でなければなりません)。あなたは、SQL Serverのテーブルまでパラメータタイプを使用することはできません
1つのオプションは、それを解析するために、テーブルとXPathに渡すためにXMLを使用することです。
私がしようとしたが、いや、@gbnは、あなたがSQL Serverのここでは2005
で私の試み正しいことはできませんされています。ここ
CREATE FUNCTION dbo.TestTable
(
@InputTable table (RowID int, DataValue varchar(10))
)
RETURNS
table (RowID int, DataValue varchar(10))
AS
SELECT * FROM @InputTable ORDER BY 1 DESC
RETURN
go
DECLARE @t table (RowID int, DataValue varchar(10))
INSERT INTO @t VALUES (3,'cccc')
INSERT INTO @t VALUES (2,'bbbb')
INSERT INTO @t VALUES (1,'aaaa')
select * from @t
select * from dbo.TestTable(@t)
はエラーです:
Msg 156, Level 15, State 1, Procedure TestTable, Line 3
Incorrect syntax near the keyword 'table'.
Msg 1087, Level 15, State 2, Procedure TestTable, Line 8
Must declare the table variable "@InputTable".
Msg 1087, Level 15, State 2, Line 1