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

MS SQL Server Discussion :

déclencheur et message d'erreur


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Avril 2004
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 75
    Par défaut déclencheur et message d'erreur
    bonjour
    voici un déclancheur que je mets dans ma base afin que l'utilisateur ne puisse pas entrer 2 fois le même nom de testeur : (même si ce champ n'est pas clé de la table)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TRIGGER [uniquenom] ON [curve].[Testeur] 
    FOR INSERT, UPDATE 
    AS ALTER TABLE testeur
    ADD CONSTRAINT un_tes_nom
    UNIQUE (tes_nom)
    ce que je voudrais c'est changer le message d'erreur que l'utilisateur verra si ceci est déclanché, est-ce possible ??

    une autre question : Vaudrait-il mieux utiliser une procédure stockée pour réaliser ceci (ou une autre méthode). Comment en général gère-t-on ce pb?
    ps: je débute depuis peu avec sql server
    merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut
    On ne peut pas modifier les objets via un trigger !
    Par contre, rien ne vous empêche de mettre une bonne fois pour toute votre contrainte sur votre table, mais pas via trigger.
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Avril 2004
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 75
    Par défaut
    oui mais le problème est que si je mets une contrainte sur le champ de la table pour que l'utilisateur ne puisse pas entrer 2 fois la même valeur
    alors si il le fait, il a un vieux message d'erreur imcompréhensible pour lui ...
    c'est pourquoi je dois utiliser des déclencheurs.
    j'ai fini par faire un code qui marche bien :
    (je le mets si ça peut aider des débutants)

    c'est pour que l'utilisateur ne puisse pas entrer 2 fois le même nom de produit dans ma base ou un nom nul
    (après on peut récupérer le message d'erreur dans un programme)
    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
    CREATE TRIGGER [uniqueNomPro] ON [Produit]
    FOR INSERT,UPDATE
    AS
     
    if exists(select pro_nom from produit where pro_nom = '')
    begin
    	raiserror('Erreur dans le nom du produit', 11, 1)
    	rollback transaction
    end
     
    if exists(select inserted.pro_nom from inserted,produit where 
     
    inserted.pro_nom = produit.pro_nom and inserted.pro_seqno <> 
     
    produit.pro_seqno)
    begin
    	raiserror('Le produit existe déjà !', 11, 1)
    	rollback transaction	
    end

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [TSocket] Message d'erreur
    Par rgz dans le forum Web & réseau
    Réponses: 6
    Dernier message: 04/07/2003, 09h16
  2. Surcharger le message d'erreur après un OnException
    Par Tirlibibi dans le forum XMLRAD
    Réponses: 2
    Dernier message: 24/04/2003, 11h42
  3. Réponses: 4
    Dernier message: 04/03/2003, 01h05
  4. [CR] Message d'erreur
    Par nono1 dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 11/09/2002, 14h54
  5. Réponses: 2
    Dernier message: 27/05/2002, 19h46

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