Compartilhar via


Instrução CREATE PROCEDURE (Microsoft Access SQL)

Aplica-se ao: Access 2013, Office 2013

Cria um procedimento armazenado.

Observação

O mecanismo de banco de dados do Microsoft Access não oferece suporte ao uso de CREATE PROCEDURE nem de nenhuma instrução DDL, com os bancos de dados cujos mecanismos sejam diferentes do Microsoft Jet.

Sintaxe

PROCEDIMENTO CREATE [param1 datatype[, param2 datatype[, ...]] AS sqlstatement

A instrução PROCEDURE INDEX contém estas partes:

Sair Descrição
procedure Um nome para o procedimento. Ele deve seguir as convenções de nomenclatura padrão.
param1, param2 De um a 255 nomes ou parâmetros de campo. Por exemplo:

CREATE PROCEDURE Sales_By_Country [Beginning Date] DateTime, [Ending Date] DateTime;

Para obter mais informações sobre parâmetros, consulte PARAMETERS.
datatype Um dos principais tipos de dados do Microsoft Access SQL ou seus sinônimos.
sqlstatement Uma instrução SQL, como SELECT, UPDATE, DELETE, INSERT, CREATE TABLE, DROP TABLE e assim por diante.

Comentários

Um procedimento SQL consiste em uma instrução PROCEDURE que especifica o nome do procedimento, uma lista opcional de definições de parâmetros e uma única instrução SQL.

O nome de um procedimento não pode ser igual ao nome de uma tabela existente.

Exemplo

Este exemplo chama a consulta CategoryList e o procedimento EnumFields, o que pode ser localizado no exemplo da instrução 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