Cláusula PROCEDURE (Microsoft Access SQL)
Se aplica a: Access 2013, Office 2013
Define un nombre y parámetros opcionales para una consulta.
Nota:
[!NOTA] La cláusula PROCEDURE ha sido sustituida por la instrucción PROCEDURE. Aunque la cláusula PROCEDURE todavía se admite, la instrucción PROCEDURE proporciona un superconjunto de la capacidad de la cláusula PROCEDURE y es la sintaxis recomendada.
Sintaxis
PROCEDURE nombre [parámetro1 tipoDeDatos[, parámetro2 tipoDeDatos[, …]]
La cláusula PROCEDURE consta de los siguientes elementos:
Parte | Descripción |
---|---|
name | Un nombre para el procedimiento. Debe seguir las convenciones de nomenclatura estándar. |
párametro1, párametro2 | Uno o varios nombres de campo o parámetros. Por ejemplo:PROCEDURE Sales_By_Country [Beginning Date] DateTime, [Ending Date] DateTime; Para obtener más información sobre los parámetros, vea parámetros. |
tipo_datos | Uno de los principales tipos de datos de Microsoft Access SQL o sus sinónimos. |
Comentarios
Un procedimiento SQL consta de una cláusula PROCEDURE (que especifica el nombre del procedimiento), una lista opcional de definiciones de parámetros y una única instrucción SQL. Por ejemplo, el procedimiento Get_Part_Number podría ejecutar una consulta que recuperase un número de pieza en particular.
Nota:
Ejemplo
En este ejemplo se nombra la consulta CategoryList y llama al procedimiento EnumFields, que puede encontrar en el ejemplo de instrucción 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