Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: Access 2013, Office 2013
Crea un procedimiento almacenado.
Nota:
El motor de base de datos de Microsoft Access no admite el uso de CREATE PROCEDURE, ni las instrucciones DDL, con bases de datos que no sean del motor de bases de datos Microsoft Jet.
Sintaxis
Procedimiento CREATE PROCEDURE [param1 datatype[, param2 datatype[, ...]] AS instrucciónSQL
La instrucción CREATE PROCEDURE consta de los siguientes elementos:
| Part | Descripción |
|---|---|
| procedimiento | Un nombre para el procedimiento. Debe seguir las convenciones de nomenclatura estándar. |
| párametro1, párametro2 | De uno a 255 nombres de campo o parámetros. Por ejemplo:CREATE PROCEDURE Sales_By_Country [Beginning Date] DateTime, [Ending Date] DateTime;Para obtener más información acerca de los parámetros, vea parámetros. |
| tipo_datos | Uno de los principales tipos de datos de Microsoft Access SQL o sus sinónimos. |
| sqlstatement | Una instrucción SQL como SELECT, UPDATE, DELETE, INSERT, CREATE TABLE, DROP TABLE y así sucesivamente. |
Comentarios
Un procedimiento SQL consiste en una cláusula PROCEDURE que especifica el nombre del procedimiento, una lista opcional de definiciones de parámetros y una única instrucción SQL.
El nombre de un procedimiento no puede ser el mismo que el nombre de una tabla existente.
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