2

したがって、このユーザー定義のテーブルタイプパラメーターがあります。これは、スカラー関数で使用され、空の場合があります。ストアドプロシージャのテーブル値パラメーターに空のリストを渡すことについてのこのトピックを読みました: ストアドプロシージャ(.net)のテーブル値パラメーターへの空のリストまたはnull値のバインド
そして基本的に、返信者の1人が言ったように:

「秘訣は、パラメータをまったく渡さないことです。テーブル値パラメータのデフォルト値は空のテーブルです。」

ただし、これをスカラー関数で試してみると、エラーが発生します。

プロシージャまたは関数に十分な数の引数が指定されていません

では、スカラー関数のテーブル値パラメーターに空の値を渡すにはどうすればよいですか?

4

1 に答える 1

2

関数への引数はオプションではないため、互換性のあるTVPを関数に渡す必要があります。TVP型をとるが必要のないスカラー値関数のポイントを理解しているかどうかはわかりません-この関数は何をし、TVPなしでどのようにそれを行うことができますか?これはTVFを意図したものではありませんか?

とにかくここに、空のTVPをスカラー関数に渡す方法があります。

DECLARE @x dbo.TVP_type_name;
SELECT dbo.function_name(@x);
于 2012-07-18T12:04:17.610 に答える