Compartir a través de


Instrucción CREATE PROCEDURE (Microsoft Access SQL)

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