Partager via


CREATE PROCEDURE, instruction (Microsoft Access SQL)

S’applique à : Access 2013, Office 2013

Crée une procédure stockée.

Remarque

Le moteur de base de données Microsoft Access ne prend pas en charge l'instruction CREATE PROCEDURE, ni les instructions DDL, avec des bases de données autres que celles de type Microsoft Jet.

Syntaxe

PROCÉDURE CREATE PROCEDURE [param1 datatype[, param2 datatype[, ...]] instructionsql AS

L'instruction CREATE PROCEDURE est composée des arguments suivants :

Quitter Description
procedure Nom de la procédure. Ce nom doit respecter les conventions d'affectation des noms standard.
param1, param2 De un à 255 noms de champs ou paramètres. Par exemple :

CREATE PROCEDURE Sales_By_Country [Beginning Date] DateTime, [Ending Date] DateTime;

Pour plus d’informations sur les paramètres, voir PARAMETERS.
datatype Un des principaux types de données Microsoft Access SQL ou un de leurs synonymes.
sqlstatement Instruction SQL telle que SELECT, UPDATE, DELETE, INSERT, CREATE TABLE, DROP TABLE, etc.

Remarques

Une procédure SQL se compose d’une clause PROCEDURE (spécifiant le nom de la procédure), d’une liste facultative de définitions de paramètres et d’une instruction SQL unique.

Le nom d’une procédure ne peut pas être identique au nom d’une table existante.

Exemple

Cet exemple nomme la requête CategoryList et appelle la procédure EnumFields, que vous pouvez trouver dans l'exemple d'instruction SELECT.

    Sub ProcedureX() 
     
        Dim dbs As Database, rst As Recordset 
        Dim qdf As QueryDef, strSql As String 
         
        ' Modify this line to include the path to Northwind 
        ' on your computer. 
        Set dbs = OpenDatabase("Northwind.mdb") 
         
        strSql = "PROCEDURE CategoryList; " _ 
            & "SELECT DISTINCTROW CategoryName, " _ 
            & "CategoryID FROM Categories " _ 
            & "ORDER BY CategoryName;" 
         
        ' Create a named QueryDef based on the SQL 
        ' statement. 
        Set qdf = dbs.CreateQueryDef("NewQry", strSql) 
     
        ' Create a temporary snapshot-type Recordset. 
        Set rst = qdf.OpenRecordset(dbOpenSnapshot) 
     
        ' Populate the Recordset. 
        rst.MoveLast 
                 
        ' Call EnumFields to print the contents of the  
        ' Recordset. Pass the Recordset object and desired 
        ' field width. 
        EnumFields rst, 15 
         
        ' Delete the QueryDef because this is a 
        ' demonstration. 
        dbs.QueryDefs.Delete "NewQry" 
         
        dbs.Close 
     
    End Sub