Nwlapcug.com


Microsoft SQL Stored procedure

Microsoft SQL Stored procedure


Microsoft stored procedure SQL sono gruppi di comandi T-SQL (Transact-SQL) o istruzioni memorizzate sul server. Stored procedure devono essere utilizzate invece di inline SQL, che viene creato dinamicamente dall'applicazione. Applicazioni e siti Web accede a un database più spesso si basano su stored procedure per eseguire i comandi di database e recuperare dati. Una volta creata, una procedura sarà archiviata in SQL server come un oggetto di database. Le stored procedure avere alcuni importanti vantaggi che garantiscono loro uso sopra inline SQL, inclusi sicurezza, facilità di aggiornamenti e velocità.

Struttura di una Stored Procedure

Una stored procedure è suddiviso in due sezioni principali, la dichiarazione del nome della stored procedure e i relativi parametri e del gruppo di comandi T-SQL. I parametri sono generalmente usato lo stesso come normali variabili in un'istruzione T-SQL come essi sono preceduti da un @ simbolo e deve essere dichiarato con un tipo di dati. La differenza tra parametri di stored procedure e variabili standard è che i parametri vengono passati durante la chiamata di esecuzione per l'applicazione o il sito Web.

Creare o modificare una Stored Procedure

Il comando T-SQL CREATE PROCEDURE viene utilizzato per creare stored procedure. Il seguente è un semplice esempio di una stored procedure.

UTILIZZARE MyDatabase
CREATE PROCEDURE dbo. SampleProc
(@Param1 varchar(20))
Come
SELEZIONARE

Col1,
Col2

DA TableName
DOVE Col3 = @Param1

Questa affermazione sarebbe creare una stored procedure denominata SampleProc in MyDatabase. Dopo aver creata la stored procedure, è possibile utilizzare i comandi ALTER PROCEDURE o DROP PROCEDURE. Il comando ALTER PROCEDURE aggiornerà la procedura esistente con l'istruzione successiva esso. Il comando DROP PROCEDURE rimuoverà la procedura dal database.

Utilizzando una Stored Procedure

Per un'applicazione o un sito Web accedere alla stored procedure, una chiamata al database utilizzando il comando EXECUTE viene inviata al server. Il comando EXECUTE per la stored procedure creata in precedenza sarebbe il seguente:

ESEGUIRE MyDatabase.dbo.SampleProc @Param1 = 'SampleInput'

Nell'esempio, verrebbe restituito un set di record di due colonne; Tuttavia, le stored procedure possono restituire un valore di stato di successo o fallimento o restituire più set di record di dati.

Vantaggi dell'utilizzo di Stored procedure

Utilizzo di stored procedure anziché SQL inline, che vi darà una serie di vantaggi. Secondo la Microsoft Developer Network libri Online, quattro vantaggi dell'utilizzo di stored procedure sono che consentono la programmazione modulare, consentono l'esecuzione più veloce, può ridurre il traffico di rete e può essere utilizzati come meccanismo di sicurezza. L'aggiornamento di stored procedure è più facile rispetto all'aggiornamento SQL inline poiché la stored procedure viene memorizzata sul server in un unico luogo. Una volta che la stored procedure viene modificata, qualsiasi applicazione o sito Web chiamando tale procedura avrà i comandi di aggiornamento. Se è stato utilizzato SQL inline, il cambiamento avrebbe dovuto essere effettuata più volte nell'applicazione o nel codice del sito Web.

Le stored procedure sono in genere più veloce di inline SQL poiché una stored procedure sarà rispettata come viene creato invece di come viene eseguita. Questo potrà accelerare leggermente la transazione. Alcune istruzioni T-SQL possono essere centinaia di righe di comandi. Se questi comandi vengono creati in linea, devono essere trasferiti attraverso la rete; Tuttavia, le stored procedure solo bisogno di avere il nome della procedura trasferito. Poiché le stored procedure sono oggetti di database, può essere fissati come una tabella di database. Solo a determinati utenti possono essere concesso l'accesso per eseguire una stored procedure, se necessario.

Stored procedure consigliate

Ci sono molte diverse procedure consigliate che gli sviluppatori devono rispettare quando progettazione di stored procedure. Mai è necessario utilizzare il prefisso sp _, dal momento che viene utilizzato solo per stored procedure di sistema sp_who, sp_executeSQL e altre procedure relative al sistema. Si dovrebbe utilizzare il percorso completo degli oggetti di database quando si fa riferimento a loro nelle stored procedure. Un esempio di un percorso completo di un oggetto potrebbe essere DatabaseName.Schema.ObjectName.