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

C++Builder Discussion :

[TADOTable] reconnaitre le trigger INSTEAD OF d'une vue...


Sujet :

C++Builder

  1. #1
    Membre éprouvé
    Homme Profil pro
    Analyste développeur VB6, SQL, VB.NET, C#
    Inscrit en
    Avril 2003
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste développeur VB6, SQL, VB.NET, C#
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2003
    Messages : 111
    Par défaut [TADOTable] reconnaitre le trigger INSTEAD OF d'une vue...
    bonjour,

    j'ai affiché dans une dbgrid associé à un dbnavigator le contenu d'une vue SQLServer. cette vue possède un trigger INSTEAD OF DELETE

    j'ai dans cette vue des infos venant de plusieurs tables (avec des jointures et tout...)

    théoriquement, lorsque je clique sur le bouton "-" (supprimer) du dbnavigator, cela devrait entrainer la suppression de l'enregistrement courant de ma vue mais comme celle-ci est doté d'un trigger INSTEAD OF DELETE, seules les actions dans ce trigger seront effectuées au dépend de la suppression.

    mais en pratique, BCB se fiche pas mal de mon trigger et veut absolument supprimer tout ce qui touche à ma vue (y compris les jointures avec les autres tables...).

    si vous aviez quelques conseils

  2. #2
    Membre éprouvé
    Homme Profil pro
    Analyste développeur VB6, SQL, VB.NET, C#
    Inscrit en
    Avril 2003
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste développeur VB6, SQL, VB.NET, C#
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2003
    Messages : 111
    Par défaut
    suite du problème...

    j'ai réussi à faire un delete dans ma vue via l'analyseur de requête: c'est le trigger qui est actionné...

    sous BCB, il y a d'abord tentative de suppression des éléments liés par les jointures (qui heureusement sont des clés donc impossible à supprimer comme cela) et UN GROS MESSAGE D'ERREUR, puis mon trigger prend la suite et effectue ce qui est demandé.


  3. #3
    Membre éprouvé
    Homme Profil pro
    Analyste développeur VB6, SQL, VB.NET, C#
    Inscrit en
    Avril 2003
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Analyste développeur VB6, SQL, VB.NET, C#
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2003
    Messages : 111
    Par défaut
    il faut mettre l'option WITH VIEW_METADATA dans le code de la vue SQL Server, afin que BCB ne tente rien sur elle et passe à la gestion des déclencheurs...

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

Discussions similaires

  1. [10g] Trigger de recopie sur une vue
    Par Jordel dans le forum PL/SQL
    Réponses: 2
    Dernier message: 12/03/2013, 17h14
  2. Trigger d'insertion sur une vue
    Par Cirtadz dans le forum PL/SQL
    Réponses: 40
    Dernier message: 19/02/2009, 12h56
  3. [PL/SQL] trigger instead of sur une XMLTYPEVIEW
    Par lemfi dans le forum Oracle
    Réponses: 1
    Dernier message: 23/03/2006, 10h27
  4. [Trigger] Comment le réaliser sur une vue ?
    Par mandale dans le forum DB2
    Réponses: 1
    Dernier message: 19/09/2005, 13h43
  5. [Trigger] Trigger instead of , after ?
    Par |DUCATI| DesMo dans le forum Développement
    Réponses: 5
    Dernier message: 05/10/2004, 10h02

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