2012-12-18 14 views
9

È possibile eseguire una stored procedure senza la parola "EXEC" o "EXECUTE" all'inizio?T-SQL (MS SQL 2008), esecuzione della procedura senza parola "EXEC" o "EXECUTE"

Normalmente per eseguire stored procedure che faccio

EXEC DeleteProfile 'Joe Smith' 

Ma, ho notato che il prossimo comando funziona così:

DeleteProfile 'Joe Smith' 

Perché dovrei scrivere 'EXEC' o 'eseguire' parola ?

È possibile non scrivere prima del nome della stored procedure per eseguire la procedura memorizzata?

Grazie.

risposta

13

Ho trovato in MSDN "Non è necessario specificare la parola chiave EXECUTE quando si eseguono stored procedure quando l'istruzione è la prima in un batch."

Scarica. Scusa per la domanda

Questo non avrebbe funzionato senza GO alla fine di ogni istruzione:

DeleteProfile 'Joe Smith' 
DeleteProfile 'Joe Smith' 
DeleteProfile 'Joe Smith' 
+0

E 'del tutto accettabile per porre una domanda (ragionevole) e quindi rispondere. Non sapevo che l'exec fosse del tutto opzionale, quindi mi hai insegnato qualcosa oggi (+1 per quello) – DeanOC

+0

Ho notato che Exec ora era opzionale nel server Sql 2008 + superiore, ma non sapeva del " quando la dichiarazione è la prima di un batch "requisito che sembra un grande" trucco "che avrebbe confuso il debug di un giorno. Quindi ho anche imparato qualcosa di utile :) Grazie! – Arkaine55