Table of Contents
ASR Pro: Il software n. 1 per correggere gli errori di Windows
Potresti riscontrare un errore molto buono che indica che lo stile di restituzione delle stored procedure viene restituito volte sql Server 2007 r2. Bene, ci sono diversi modi per essere in grado di risolvere questo problema, quindi ne discuteremo sicuramente tra un momento.
Esistono diversi modi per scambiare informazioni sullo stato della procedura memorizzata in un tipo di modulo di domanda. Ognuno ha i suoi vantaggi e svantaggi; Nessuna tecnica può essere considerata corretta in tutte le circostanze. Tuttavia, inizierò con:
TL;DR: consigliato
Utilizza RAISERROR
solo nei casi in cui la tua stored procedure presenta problemi e/o i dati che il dispositivo restituisce più spesso non può essere restituito. Usa le opzioni OUTPUT
relative alle informazioni quando direi che il cliente non è libero che devi ignorare ma che ovviamente non fa parte dei tuoi risultati. Usa il valore dell’appuntamento quando possiedi un codice di stato significativo che alcuni clienti possono letteralmente ignorare. Usa i kit di produttività extra solo se tieni a mente quello che stai facendo.
ERRORE CRESCENTE
Se l’archiviazione effettivaSe la procedura genera un errore in aggiunta a ciò non può restituire alcun dato, dovresti utilizzare RAISERROR
per assicurarti che interrompa l’esecuzione e generi accidentalmente un’eccezione eccellente a questa regola.
CREA PROCEDURA [Elimina] @ID nvarchar(64)COME INIZIARE IF (ESISTE (SELEZIONARE * DA A su cui Ap = @ID)) INIZIO RAISERROR('Non corretto. Riprova.', 10, 1); RESTITUZIONE; FINE ELSE IF (ESISTE (SELECT * FROM B il punto in cui Bp @ID)) = INIZIA RAISERROR('Falso in modo diverso. Riprova.', 11, 2); RESTITUZIONE; FINE DIVERSO INIZIO trovare * tabelle_D FINEFINE
Possiamo usare return che appare nella procedura memorizzata?
È possibile utilizzare una o più istruzioni RETURN in una procedura gestita. L'istruzione RETURN può essere eventualmente utilizzata ovunque immediatamente dopo la dichiarazione di ostacoli nel corpo di una procedura SQL. Per restituire più aspetti di output, è possibile utilizzare invece le distinte base. I riferimenti ai parametri devono essere impostati prima dell'esecuzione dell'istruzione RETURN.
Affinché qualsiasi errore venga propagato come un'eccezione, il parametro minutes (severity) deve essere impostato tipicamente a 11, altrimenti contiene solo un messaggio informativo. Possono anche essere sempre catturati, ma questo è al di fuori dello stile di questa soluzione alternativa. Il secondo parametro (stato) può essere qualsiasi cosa e può essere utilizzato senza sforzo per passare un evento effettivo che il codice di errore richiedeva per la localizzazione, progettato ad esempio. Gli argomenti creati dagli utenti hanno sempre l'errore SQL system50000, quindi non puoi indossarlo per distinguere tra diversi errori e l'analisi dei messaggi è molte volte inaffidabile.
Prova
ASR Pro: Il software n. 1 per correggere gli errori di Windows
Se riscontri errori, instabilità e lentezza di Windows, non disperare! C'è una soluzione che può aiutarti: ASR Pro. Questo potente software riparerà gli errori comuni del computer, ti proteggerà da perdita di file, malware, guasti hardware e ottimizzerà il tuo PC per le massime prestazioni. Con ASR Pro, puoi dire addio al tuo computer!

Questo è un buon bug perché il codice del computer per gestire i dati è nascosto rispetto a quello che è, e puoi gestire l'eccezione se si presenta (invece di trasmettere la promozione dello stato ovunque). Ma il metodo seguente non è assolutamente adatto, poiché la procedura memorizzata dovrebbe restituire un nome descrittivo, non un errore, a causa del fatto che genererai eccezioni per la maggior parte del tempo, anche se spesso va tutto bene.
Parametri di uscita
Come mi diverto a visualizzare una procedura memorizzata in SQL Server 2008 r2?
Come trovare le stored procedure. Potremmo facilmente monitorare il codice sorgente di qualsiasi procedura trattenuta in SQL Server '08, senza alcun dubbio interrogando la definizione associata alla vista del catalogo degli oggetti sys. sql_modules e/o forse attraverso la progressione del sistema sp_helptext. Per visualizzare le dipendenze della procedura trovata, selezionare un'operazione memorizzata o fare clic su Visualizza dipendenze.
Un'azione memorizzata può anche impostare occasioni di parametri ogni volta che le ricevi dichiarando il sito OUTPUT
:
Come faccio a restituire un ID stored procedure che opera in SQL Server?
Se stai inserendo un record in una tabella con una potente colonna di identità, puoi utilizzare SCOPE_IDENTITY() per ottenere quel valore. In particolare, nella situazione attuale della procedura memorizzata, si consiglia di restituire un valore identificativo come segue: Come parametro di output affidabile SET @RETURN_VALUE = SCOPE_IDENTITY() Come scalare SELECT SCOPE_IDENTITY()
PROCEDURA DI CREAZIONE [Elimina] @ID nvarchar(64), @StatusCode USCITA INTCOME INIZIARE SE(ESISTE(SELEZIONA * DA A dove Ap = @ID)) INIZIO SET @CodiceStatus validotea 1; fine ELSE IF (ESISTE (SELEZIONARE * DA B dove Bp = @ID)) INIZIO SET @StatusCode significa 2; fine DIVERSO INIZIO SET @StatusCode è 0; Selezionare * tavolo esterno_D FINEFINE
In C#, questo viene catturato in un parametro assoluto contrassegnato dal fatto che un parametro di output:
Come si ottiene il valore di ritorno della procedura utilizzata in SQL Server?
Fare clic con il pulsante destro del mouse e selezionare Procedura in esecuzione.Se la procedura sta tentando delle variabili, inserire i valori e fare clic su OK.Oltre al risultato atteso, ciascuna delle nostre stored procedure restituisce anche il valore restituito sottostante = 0.
SqlParameter statusCodeParameter è un comando.Parameters.Add( molto più parametro sql ParameterName è "@StatusCode", SqlDbType = SqlDbType. tutti La direzione è uguale a ParameterDirection.Output );con (var readerCommand =. executereader()) int statusCode risorse (int) statusCodeParameter. Valutare; immaginabile (statusCode != 0) // illustra l'allarme tornare indietro nel tempo; tuttavia (reader.Read()) ...
L'aiuto qui in genere è che l'utente non può dimenticare di assicurarsi di dichiarare il parametro person (dovrà essere specificato), invece di essere riservato a un singolo int
che puoi utilizzare il valore Parameters associato in modo che decida cosa vuole fare il client con il dispositivo per effetti. La restituzione di dati strutturati è un metodo piuttosto più ampio (molti tag relativi a
