Maison > base de données > tutoriel mysql > Comment puis-je empêcher l'exécution prématurée d'un script SQL Server ?

Comment puis-je empêcher l'exécution prématurée d'un script SQL Server ?

Mary-Kate Olsen
Libérer: 2025-01-09 07:07:46
original
470 Les gens l'ont consulté

How Can I Stop a SQL Server Script from Running Prematurely?

Arrêt anticipé de l'exécution du script dans SQL Server

Dans SQL Server, vous devrez peut-être arrêter l'exécution d'un script plus tôt si une validation ou une recherche dans la logique du script échoue. Voici deux façons d’y parvenir :

1.Méthode RAISERROR

L'instruction

raiserror peut être utilisée pour mettre fin à l'exécution du script en déclenchant une erreur avec un niveau de gravité 20 ou supérieur et en spécifiant l'option WITH LOG. Un exemple est le suivant :

<code class="language-sql">raiserror('发生致命错误', 20, -1) with log</code>
Copier après la connexion

Cela mettra fin à la connexion actuelle, empêchant le reste du script de s'exécuter. Veuillez noter que cette méthode nécessite les autorisations du rôle d'administrateur système.

2.Méthode NOEXEC

Une autre méthode à utiliser avec l'instruction GO consiste à activer noexec. Cela désactivera l'exécution des scripts restants. Exemple :

<code class="language-sql">print 'hi'
go

print '致命错误,脚本将不会继续!'
set noexec on

print 'ho'
go</code>
Copier après la connexion

Cette méthode ne met pas fin à la connexion, mais ignore l'exécution de tout code ultérieur jusqu'à ce que noexec soit à nouveau fermé. Dans SQL Server Management Studio, vous devrez peut-être émettre la commande set noexec off pour reprendre l'exécution.

Lorsque vous utilisez ces méthodes, veuillez garder les considérations suivantes à l'esprit :

  • RAISERROR nécessite des privilèges d'administrateur système et peut vous faire perdre votre connexion à la base de données.
  • Si vous n'êtes pas connecté en tant qu'administrateur système, RAISERROR échouera et le script poursuivra son exécution.
  • NOEXEC ne nécessite pas d'autorisations d'administrateur système, mais vous devez le désactiver explicitement avant d'exécuter le code suivant.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal