0

すべてのユーザー定義関数に入力パラメーターを渡すことは必須ですか?

ストアド プロシージャには、入力パラメーターと出力パラメーターの両方があります。関数には入力パラメーターしかありません。

これらのパラメーターを使用せずにストアド プロシージャを作成することもできます。入力パラメーターを使用せずにユーザー定義関数を作成することは可能ですか?

4

2 に答える 2

1

はい、間違いなくパラメータなしでユーザー定義関数を書くことができます。

もう1つ明確にしたいのは、関数には入力パラメーターがあり、戻り値があることです。戻り値は、作成する関数のタイプに応じてスカラーまたはテーブルになります。

于 2014-12-08T04:24:17.947 に答える
1

数行を入力するだけで、それが可能であることがわかるのに、なぜそれが可能どうか尋ねる必要があります ;-)

CREATE FUNCTION dbo.NoParamsUDF()
RETURNS NVARCHAR(50)
AS
BEGIN
  RETURN N'It worked!';
END;
GO

CREATE FUNCTION dbo.NoParamsTVF()
RETURNS TABLE
AS RETURN
  SELECT dbo.NoParamsUDF() AS [DidItWork?];
GO

SELECT * FROM dbo.NoParamsTVF();

戻り値:

うまくいきましたか?
-------------
うまくいきました!

于 2014-12-08T04:55:45.820 に答える