CREATE PROCEDURE 语句 (Microsoft Access SQL)
适用于:Access 2013、Office 2013
创建存储过程。
注意
Microsoft Access 数据库引擎不支持对非 Microsoft Jet 数据库引擎的数据库使用 CREATE PROCEDURE 语句或者任何 DDL 语句。
语法
CREATE PROCEDURE 过程 [param1 datatype[, param2 datatype[, ...]] AS sqlstatement
CREATE PROCEDURE 语句包含以下部分:
Part | 说明 |
---|---|
procedure | 过程的名称。 它必须遵循标准命名规则。 |
param1、param2 | 从 1 到 255 个字段名或参数。 例如:CREATE PROCEDURE Sales_By_Country [Beginning Date] DateTime, [Ending Date] DateTime; 有关参数的详细信息,请参阅 PARAMETERS。 |
datatype | 主要 Microsoft Access SQL 数据类型或其同义词之一。 |
sqlstatement | SQL 语句,如 SELECT、UPDATE、DELETE、INSERT、CREATE TABLE、DROP TABLE 等。 |
说明
SQL 过程包含一个 PROCEDURE 子句(该子句指定过程的名称)、参数定义的可选列表和单个 SQL 语句。
过程名称不能与现有表的名称相同。
示例
本示例将查询命名为 CategoryList,并调用 EnumFields 过程,您可以在 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