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