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