IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement SQL Server Discussion :

[SQLSERVER 2000] Sortir d'un script sql


Sujet :

Développement SQL Server

  1. #1
    Futur Membre du Club
    Profil pro
    Aucunes
    Inscrit en
    Juin 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Aucunes

    Informations forums :
    Inscription : Juin 2007
    Messages : 10
    Points : 7
    Points
    7
    Par défaut [SQLSERVER 2000] Sortir d'un script sql
    Bonjour,

    J'ai un script de mise à jour d'une base, avant de faire les modifications je recupère le numéro de version dans une table et je le mets dans une variable, je fais un "if" et si cela ne correspond pas au numéro que je veux, je dois arrêter le script.

    J'ai essayé avec return, raiserror et exit(qui n'existe pas en T-SQL) mais le script continue.

    Quelqu'un a t il la solution ?

    Merci d'avance

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 862
    Points : 53 013
    Points
    53 013
    Billets dans le blog
    6
    Par défaut
    sans voir le script difficile de vous diagnostiquer la chose.

    A +

  3. #3
    Futur Membre du Club
    Profil pro
    Aucunes
    Inscrit en
    Juin 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Aucunes

    Informations forums :
    Inscription : Juin 2007
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Par exemple :

    USE TEST
    GO

    DECLARE @NUM_VERSION VARCHAR(2)

    SELECT TOP 1 @NUM_VERSION=VERS_DB FROM VERSIONDB

    IF @NUM_VERSION <> '02'
    BEGIN
    PRINT ' Mauvaise version :'
    RETURN
    END

    suite du script ...

    Le return ne fonctionne pas le script continue.

    A+

  4. #4
    Membre expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Points : 3 173
    Points
    3 173
    Par défaut
    La suite du script est importante! contient'elle des go?

    explication:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    print 'before'
    RETURN
    print 'after'
    go
    print 'after go'
    Résultat:
    Votre RETURN met fin au "script" jusqu'au prochain (délimité par un GO)

  5. #5
    Futur Membre du Club
    Profil pro
    Aucunes
    Inscrit en
    Juin 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Aucunes

    Informations forums :
    Inscription : Juin 2007
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    oui apres il y a le script de mise à jour de la base avec des "go"

  6. #6
    Membre averti
    Homme Profil pro
    R&D
    Inscrit en
    Avril 2004
    Messages
    127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : R&D

    Informations forums :
    Inscription : Avril 2004
    Messages : 127
    Points : 406
    Points
    406
    Par défaut
    Bonjour,
    Voici une exemple de solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    SET NOCOUNT ON
    CREATE TABLE #log (
    	flag1 bit,
    	flag2 bit
    )
    GO
    INSERT INTO #log (flag1, flag2) VALUES(0, 0)
    GO
    PRINT 'Batch 1 started'
    -- Après la vérification des condition
    UPDATE #log SET flag1 = 1
    GO
    IF NOT EXISTS(SELECT 1 FROM #log WHERE flag1 = 1) BEGIN
    	PRINT 'Batch 2 skipped'
    	RETURN
    END
    PRINT 'Batch 2 started'
    -- Après la vérification des condition
    UPDATE #log SET flag2 = 0
    GO
    IF NOT EXISTS(SELECT 1 FROM #log WHERE flag2 = 1) BEGIN
    	PRINT 'Batch 3 skipped'
    	RETURN
    END
    PRINT 'Batch 3 started'
    GO
    DROP TABLE #log
    PRINT 'Finished'
    Résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Batch 1 started
    Batch 2 started
    Batch 3 skipped
    Finished
    Voir aussi ma notice Développer un script SQL compatible 2000/2005/2008

Discussions similaires

  1. Réponses: 6
    Dernier message: 02/04/2009, 17h32
  2. Sqlserver 2000: version SP via 1 reqêre Sql
    Par agdid04 dans le forum Administration
    Réponses: 2
    Dernier message: 30/04/2008, 14h23
  3. Script SQL lancé au démarrage de SQLServer
    Par Philou67 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 06/04/2006, 16h49
  4. [SQL Server 2000] Générer le script SQL des données
    Par Giovanny Temgoua dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 31/03/2005, 18h35
  5. script SQL : affectation de variables
    Par Laura dans le forum Requêtes
    Réponses: 3
    Dernier message: 28/10/2003, 21h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo