CREATE PROCEDURE-Anweisung (Microsoft Access SQL)

Gilt für: Access 2013, Office 2013

Erstellt eine gespeicherte Prozedur.

Hinweis

Vom Microsoft Access-Datenbankmodul wird die Verwendung der CREATE PROCEDURE- oder anderer DDL-Anweisungen in Datenbanken, die nicht aus dem Microsoft Jet-Datenbankmodul stammen, nicht unterstützt.

Syntax

CREATE PROCEDURE-Prozedur [param1-Datentyp[, param2-Datentyp[, ...]] AS SQL-Anweisung

Die CREATE PROCEDURE-Anweisung besteht aus drei Komponenten:

Part Beschreibung
Prozedur Der Name der Prozedur. Bei der Namensgebung müssen die Standardbenennungsregeln beachtet werden.
Parameter1, Parameter2 1 bis 255 Feldnamen oder Parameter. Beispiel:

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

Weitere Informationen zu Parametern finden Sie unter PARAMETER.
Datentyp Einer der wichtigsten Microsoft Access SQL-Datentypen oder eines der Synonyme.
SQL-Anweisung Eine SQL-Anweisung wie SELECT, UPDATE, DELETE, INSERT, CREATE TABLE, DROP TABLE usw.

Bemerkungen

Eine SQL-Prozedur besteht aus einer PROCEDURE-Klausel,die den Namen der Prozedur angibt, einer optionalen Liste von Parameterdefinitionen und einer einzelnen SQL-Anweisung.

Der Name der Prozedur darf nicht mit dem Namen einer vorhandenen Tabelle übereinstimmen.

Beispiel

In diesem Beispiel wird die CategoryList-Abfrage benannt und die EnumFields-Prozedur aufgerufen, die im Beispiel für die SELECT-Anweisung enthalten ist.

    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