Exporter (0) Imprimer
Développer tout

CREATE FUNCTION (Base de données SQL Azure)

Cette rubrique est obsolète. La version actualisée est disponible à la page Référence SQL 14 Transact-SQL.

ImportantImportant
Cette rubrique n'est pas tenue à jour. Pour obtenir la version actuelle, consultez CREATE FUNCTION (Transact-SQL).

Crée une fonction définie par l'utilisateur. Il s'agit d'une routine Transact-SQL enregistrée qui retourne une valeur. Les fonctions définies par l'utilisateur ne permettent pas d'exécuter des actions qui modifient l'état des bases de données. À l'image des fonctions système, elles peuvent être appelées à partir d'une requête. Les fonctions scalaires peuvent être exécutées à l'aide d'une instruction EXECUTE, comme avec les procédures stockées. 

Conventions de syntaxe (Base de données SQL Azure)

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 } 
}

Ce diagramme de syntaxe montre les arguments et types de fonctions pris en charge dans Microsoft Base de données SQL Microsoft Azure.

Base de données SQL Microsoft Azure ne prend pas en charge la création de fonctions scalaires CLR et de fonctions table CLR à l'aide de l'instruction CREATE FUNCTION. En revanche, Base de données SQL Microsoft Azure prend en charge la création de fonctions scalaires, de fonctions table inline et de fonctions table à plusieurs instructions sans modification.

Pour les fonctions scalaires et les fonctions table à plusieurs instructions, function_body est soumis aux limitations DML (Data Manipulation Language) générales de Base de données SQL Microsoft Azure Transact-SQL. La liste suivante répertorie les DDL soumis aux limitations DDL (Data Definition Language) générales de Base de données SQL Microsoft Azure Transact-SQL :

  • table_type_definition

  • column_definition

  • column_constraint

  • computed_column_definition

  • index_option

Pour plus d'informations sur les arguments et l'instruction CREATE FUNCTION, consultez CREATE FUNCTION (Transact-SQL) dans la Documentation en ligne de SQL Server.

Afficher:
© 2014 Microsoft