このトピックはまだ評価されていません - このトピックを評価する

CREATE FUNCTION (Windows Azure SQL データベース)

ユーザー定義関数を作成します。これは、保存された Transact-SQL のルーチンで、値を返します。ユーザー定義関数は、データベースの状態を変更するアクションの実行に使用することはできません。ユーザー定義関数は、システム関数と同じように、クエリから起動できます。スカラー関数は、ストアド プロシージャと同様に、EXECUTE ステートメントを使用して実行できます。 

構文表記規則 (Windows Azure SQL データベース)

Scalar Functions
CREATE FUNCTION [ schema_name. ] function_name( [ { @parameter_name [ AS ][ type_schema_name. ] parameter_data_type 
    [ =default ] [ READONLY ] } 
    [ ,...n ]
  ]
)
RETURNS return_data_type
    [ WITH <function_option> [ ,...n ] ]
    [ AS ]
    BEGIN 
        function_body 
        RETURN scalar_expression
    END
[ ; ]

Inline Table-Valued Functions
CREATE FUNCTION [ schema_name. ] function_name ( [ { @parameter_name [ AS ] [ type_schema_name. ] parameter_data_type 
    [ =default ] [ READONLY ] } 
    [ ,...n ]
  ]
)
RETURNS TABLE
    [ WITH <function_option> [ ,...n ] ]
    [ AS ]
    RETURN [ ( ] select_stmt [ ) ]
[ ; ]

Multistatement Table-valued Functions
CREATE FUNCTION [ schema_name. ] function_name ( [ { @parameter_name [ AS ] [ type_schema_name. ] parameter_data_type 
    [ =default ] [READONLY] } 
    [ ,...n ]
  ]
)
RETURNS @return_variable TABLE <table_type_definition>
    [ WITH <function_option> [ ,...n ] ]
    [ AS ]
    BEGIN 
        function_body 
        RETURN
    END
[ ; ]



Function Options<function_option>::= 
{
    [ SCHEMABINDING ]
  | [ RETURNS NULL ON NULL INPUT | CALLED ON NULL INPUT ]
  | [ EXECUTE_AS_Clause ]
}


Table Type Definitions<table_type_definition>:: = ( { <column_definition> <column_constraint> 
  | <computed_column_definition> } 
    [ <table_constraint> ] [ ,...n ]
)<column_definition>::=
{
    { column_name data_type }
    [ [ DEFAULT constant_expression ] 
      [ COLLATE collation_name ] | [ ROWGUIDCOL ]
    ]
    | [ IDENTITY [ (seed , increment ) ] ]
    [ <column_constraint> [ ...n ] ] 
}
<column_constraint>::= 
{
    [ NULL | NOT NULL ] 
    { PRIMARY KEY | UNIQUE }
      [ CLUSTERED | NONCLUSTERED ] 
        [ WITH FILLFACTOR =fillfactor 
        | WITH ( < index_option > [ , ...n ] )
      [ ON { filegroup | "default" } ]
  | [ CHECK (logical_expression ) ] [ ,...n ]
}

<computed_column_definition>::=column_name AS computed_column_expression<table_constraint>::=
{ 
    { PRIMARY KEY | UNIQUE }
      [ CLUSTERED | NONCLUSTERED ] 
      (column_name [ ASC | DESC ] [ ,...n ] )
        [ WITH FILLFACTOR = fillfactor 
        | WITH ( <index_option> [ , ...n ] )
  | [ CHECK (logical_expression ) ] [ ,...n ]
}

<index_option>::=
{ 
    PAD_INDEX = { ON | OFF } 
  | FILLFACTOR = fillfactor 
  | IGNORE_DUP_KEY = { ON | OFF }
  | STATISTICS_NORECOMPUTE = { ON | OFF } 
  | ALLOW_ROW_LOCKS = { ON | OFF }
  | ALLOW_PAGE_LOCKS ={ ON | OFF } 
}

この構文ダイアグラムでは、Microsoft Windows Azure SQL データベースでサポートされている引数および関数の種類を示します。

Windows Azure SQL データベースでは、CREATE FUNCTION ステートメントを使用した CLR スカラー関数および CLR テーブル値関数の作成はサポートされません。Windows Azure SQL データベースでは、変更を加えない、スカラー関数、インライン テーブル値関数、および複数ステートメントのテーブル値関数の作成がサポートされます。

スカラー関数および複数ステートメントのテーブル値関数の場合、function_body には、一般的な Windows Azure SQL データベースの Transact-SQL データ操作言語 (DML) の制限が適用されます。一般的な Windows Azure SQL データベースの Transact-SQL データ定義言語 (DDL) の制限が適用される DDL を次に示します。

  • table_type_definition

  • column_definition

  • column_constraint

  • computed_column_definition

  • index_option

引数と CREATE FUNCTION ステートメントの詳細については、SQL Server オンライン ブックの「CREATE FUNCTION (Transact-SQL)」を参照してください。

この情報は役に立ちましたか。
(残り 1500 文字)

コミュニティの追加

追加
© 2013 Microsoft. All rights reserved.
facebook page visit twitter rss feed newsletter