Interruption de l'exécution du script SQL dans SQL Server
Les scripts SQL volumineux ou complexes nécessitent parfois une interruption immédiate si des conditions inattendues surviennent. SQL Server propose plusieurs façons d'y parvenir.
Utiliser raiserror
L'instruction raiserror
met fin brusquement à l'exécution du script en déclenchant une erreur critique. Un niveau de gravité de 20 ou plus, associé à l'option WITH LOG
, est nécessaire :
<code class="language-sql">raiserror('Critical error encountered', 20, -1) with log</code>
Cette action ferme la connexion à la base de données, interrompant ainsi le traitement du script.
Employer noexec
La commande noexec
définit un indicateur, empêchant l'exécution des instructions suivantes. Contrairement à raiserror
, il ne met pas fin à la connexion ; l'exécution ne reprend qu'après la désactivation de noexec
:
<code class="language-sql">print 'Initial message' go print 'Error detected; script halted!' set noexec on print 'This message will not be displayed.' go -- End of script set noexec off -- Execution resumes here</code>
Remarques importantes :
raiserror
demande des autorisations administratives et déconnecte la base de données.noexec
n'affecte que la session en cours sans se déconnecter.GO
séparateurs de lots.La meilleure méthode dépend des besoins spécifiques et du contexte de votre script SQL.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!