Come posso creare una procedura memorizzata in MS Access?

Come posso creare una procedura memorizzata in MS Access?

Access 2010 ha sia stored procedure che trigger di tabella. E, entrambe le funzionalità sono disponibili anche quando non si utilizza un server (quindi, in modalità basata su file al 100%).

Se si utilizza SQL Server con Access, ovviamente le procedure memorizzate vengono create utilizzando SQL Server e non Access.

Per Access 2010, si apre la tabella (vista non di progettazione) e quindi si sceglie la scheda tabella. Vedete le opzioni lì per creare procedure negozio e trigger di tabella.

Per esempio:

alt text

Si noti che la lingua della procedura memorizzata è proprio come Oracle o SQL Server (T-SQL). Ecco un codice di esempio per aggiornare un inventario di frutta come risultato di un aggiornamento nella tabella degli ordini di frutta alt text

Tieni presente che si tratta di trigger di tabella a livello di motore veri. Infatti se apri quella tabella con VB6, VB.NET, FoxPro o addirittura modifichi la tabella su un computer SENZA l’installazione di Access, verranno eseguiti il ​​codice procedurale e il trigger a livello di tabella. Quindi, questa è una nuova funzionalità di Data Engine Jet (ora chiamata ACE) per Access 2010. Come notato, questo è un codice procedurale che viene eseguito, non solo una singola istruzione.

Se si intende il tipo di procedura che si trova in SQL Server, prima del 2010, non è ansible. Se si desidera una query che accetta un parametro, è ansible utilizzare la finestra di progettazione della query:

PARAMETERS SomeParam Text(10); SELECT Field FROM Table WHERE OtherField=SomeParam 

Puoi anche dire:

 CREATE PROCEDURE ProcedureName (Parameter1 datatype, Parameter2 datatype) AS SQLStatement 

Da: http://msdn.microsoft.com/en-us/library/aa139977(office.10).aspx#acadvsql_procs

Si noti che la procedura contiene solo una dichiarazione.