Compartilhar via


Cláusula PROCEDURE (SQL do Microsoft Access)

Aplica-se ao: Access 2013, Office 2013

Define um nome e os parâmetros opcionais para uma consulta.

Observação

[!OBSERVAçãO] A cláusula PROCEDURE foi substituída pela instrução PROCEDURE. Embora a cláusula PROCEDURE ainda seja aceita, a instrução PROCEDURE fornece um superconjunto de recursos da cláusula PROCEDURE e é a sintaxe recomendada.

Sintaxe

PROCEDURE name [param1 datatype[, param2 datatype[, …]]

A cláusula PROCEDURE contém estas partes:

Sair Descrição
name Um nome para o procedimento. Ele deve seguir as convenções de nomenclatura padrão.
param1, param2 Um ou mais campos ou parâmetros de campo. Por exemplo:

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

Para obter mais informações sobre parâmetros, consulte parâmetros.
datatype Um dos principais tipos de dados do Microsoft Access SQL ou seus sinônimos.

Comentários

Um procedimento SQL consiste em uma cláusula PROCEDURE (que especifica o nome do procedimento), uma lista opcional das definições de parâmetro e uma única instrução SQL. Por exemplo, o procedimento Get_Part_Number pode executar uma consulta que recupere um número de peça especificado.

Observação

  • Se a cláusula incluir mais de uma definição de campo (isto é, pares de param-datatype), separe-os com vírgulas.
  • A cláusula PROCEDURE deve ser seguida por uma instrução SQL (por exemplo, uma instrução SELECT ou UPDATE).

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