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

SQL Procédural MySQL Discussion :

Débogage de Trigger


Sujet :

SQL Procédural MySQL

  1. #1
    Candidat au Club
    Homme Profil pro
    Automaticien
    Inscrit en
    Août 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2016
    Messages : 10
    Points : 4
    Points
    4
    Par défaut Débogage de Trigger
    Bonjour tout le monde.

    Je viens vers vous pour avoir une petite aide pour déboguer mon programme.

    J'ai des données (type Blod ) à récupérer à partir d'une table pour les insérer dans une autre.

    J'ai 4 variables (type Blod) à récupérer à partir d'une table issue de la synchronisation de ma BD avec mon IHM (interface Homme-Machine).
    Mais ces données doivent subir quelques transformations avant d’être insérées dans une autre table.

    En somme ,je dois concaténer mes 4 variables et le résultat de la concaténation est à convertir en char avant d'être inséré dans une autre table.

    Pour que toutes ces opérations se fassent de façon autonome après chaque synchronisation, je suis passé par un trigger.

    Désolé ça fait trop de détails d'un coup,je suis Automaticien et autodidacte en MySQl.

    Je travaille avec Workbench.

    J'ai rajouté des commentaires dans le code entre les * juste pour vous expliciter ma démarche.

    Je suis preneur de toute autre idée ou façon de faire

    Et après compilation,j'ai cette erreur en retour : ERROR 1415: Not allowed to return a result set from a trigger

    Merci d'avance pour votre aide.

    Code ci-après
    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
    DROP TRIGGER IF EXISTS `maboite`.`cmt-dc29_envoie2_data_AFTER_UPDATE`;
     
    DELIMITER $$
    USE `maboite`$$
    CREATE DEFINER = CURRENT_USER TRIGGER `maboite`.`cmt-dc29_envoie2_data_AFTER_UPDATE` AFTER UPDATE ON `cmt-dc29_envoie2_data` FOR EACH ROW
    BEGIN
    Declare CODE1 BLOD; *Déclaration de la variable qui va contenir le résultat de la concaténation *
     
    SELECT CONCAT(data_format_0,data_format_1,data_format_2,data_format_3) AS CODE1 FROM `cmt-dc29_envoie2_data` ; *Concaténation de mes 4 variables et affectations du résultat dans la variable CODE1 précédemment déclarée* 
     
    CAST(CODE1 AS CHAR(40) CHARACTER SET utf8); *Conversion de CODE1 en CHAR*
     
    INSERT INTO numero_de_serie. 
     
    set CODE1=new.barcode where barcode is null; *Insertion dans la table finale*
     
     
     
    END$$
    DELIMITER ;

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Il y a déjà un problème là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT CONCAT(data_format_0,data_format_1,data_format_2,data_format_3) AS CODE1 FROM `cmt-dc29_envoie2_data` ;
    Vous sélectionnez toutes les lignes de la table vu qu'il n'y a pas de WHERE !

    Ensuite, ce serait plutôt SELECT /*...*/ INTO CODE1 -- ... et je pense qu'il faut d'abord déclarer la variable CODE 1 au début du trigger.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Candidat au Club
    Homme Profil pro
    Automaticien
    Inscrit en
    Août 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2016
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Bonjour CinePhil.

    Merci pour ce retour.

    Je n'avais pas déclaré la variable CODE1 au début.

    J'ai rajouté ceci declare CODE1 blob;en début programme mais mon problème persiste.

    Donc je suis passé par une table transitoire c'est-à dire j'ai créé une nouvelle table où vont être insérées mes 4 variables issues de la synchronisation avec mon IHM.

    De cette nouvelle table ,j'ai crée un trigger AFTER INSERTqui permet de concaténer mes variables et enfin insérer le résultat dans ma table finale (numero_de_serie).

    Mes compilations ne me renvoient pas d'erreurs.

    Mais mes nouveaux triggers ne se déclenchent pas après synchronisation avec mon IHM.

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    On peut voir ce nouveau trigger ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Candidat au Club
    Homme Profil pro
    Automaticien
    Inscrit en
    Août 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2016
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Bonjour CinePhil,

    comme je disais dans mon message précédent,j'ai opté pour une autre méthode.
    Et mes nouveaux triggers ne me renvoient pas d'erreurs mais ils ne déclenchent après synchronisation avec mon IHM.

    Le trigger associé à la table issue de la synchronisation avec mon IHM:
    L’objectif est d'insérer dans la table transitoire (tableb) mes nouvelles variables issues de la synchro.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    CREATE DEFINER=`root`@`localhost` TRIGGER `maboite`.`cmt-dc29_envoie2_data_AFTER_UPDATE` AFTER UPDATE ON `cmt-dc29_envoie2_data` FOR EACH ROW
    BEGIN
    INSERT INTO tableb (b0,b1,b2,b3) 
    select (New.data_format_0,new.data_format_1,new.data_format_2,new.data_format_3)  
    from `cmt-dc29_envoie2_data_AFTER_UPDATE`;
    END
    .

    Pour concaténer les variables insérées dans la tableb,j'ai associé à cette dernière un trigger AFTER INSERT et ce même trigger me permet d’insérer le résultat de concaténation dans ma table finale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE DEFINER=`root`@`localhost` TRIGGER `maboite`.`tableb_AFTER_INSERT` AFTER INSERT ON `tableb` FOR EACH ROW
    BEGIN
    declare CODE1 blob;
    SET CODE1 = (SELECT CONCAT (NEW.b0,NEW.b1,NEW.b2,NEW.b3)FROM `tableb`) ; 
    insert into numero_de_serie 
    set CODE1=Barcode ;
     
    END
    Et pour finir,j'ai associé à ma table finale ce trigger qui me permet à la fois de convertir le CODE1 en Varchar et aussi insérer une nouvelle ligne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     CREATE DEFINER=`root`@`localhost` TRIGGER `maboite`.`numero_de_serie_AFTER_INSERT` AFTER INSERT ON `numero_de_serie` FOR EACH ROW
    BEGIN
    insert into numero_de_serie
    set Barcode=(SELECT convert(CODE1 using utf8)  FROM tableb);
     
     
    END]
    .

    Tous ces triggers ne me renvoient d'erreurs après compilation mais ils ne s’exécutent pas non plus après synchronisation de ma BD avec mon IHM.

    Si vous aviez une idée du problème ,je suis preneur tout en vous remerciant d'avance .

  6. #6
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Reprenons ce que je comprends de votre besoin à partir de tout ça...

    Vous avez un programme qui fait un truc de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    UPDATE TABLE cmt-dc29_envoie2_data
    SET data_format_0 = 'valeur_0',
    	data_format_1 = 'valeur_1',
    	data_format_2 = 'valeur_2',
    	data_format_3 = 'valeur_3'
    /* WHERE éventuel ? pour limiter la mise à jour à une ligne ou quelques lignes de la table */
    Vous voulez concaténer ces 4 valeurs pour les insérer dans la colonne numero_de_serie.Barcode.
    Pourquoi ne pas faire directement depuis votre programme ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO numero_de_serie (barcode)
    VALUES (CONCAT('valeur_0', 'valeur_1', 'valeur_2', 'valeur_3'))
    Si vous voulez absolument le faire par trigger :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TRIGGER cmt-dc29_envoie2_data_after_update FOR EACH ROW
    BEGIN
    	INSERT INTO numero_de_serie (barcode)
    	VALUES (CONCAT(NEW.data_format_0, NEW.data_format_1, NEW.data_format_2, NEW.data_format_3));
    END;
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  7. #7
    Candidat au Club
    Homme Profil pro
    Automaticien
    Inscrit en
    Août 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2016
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Merci CinePhil .

    C'est ce que je veux mais dans ma table finale je dois convertir le CODE1 en varchar pour pourvoir visualiser mes données.

    Et je suis passé par un trigger pour que l'exécution des instructions se fasse de façon autonome et automatique.

    D'après ce que j'ai compris de l’intérêt des triggers: ils permettent un déclenchement autonome des instructions ,un peu comme dans l'automatisme avec les exécutions d'un programme ou un bout de programme sur un front montant ou descendant d'un capteur (par exemple).

    Dans ma logique,l'événement ici ,consiste la synchronisation de ma BD avec ma mon IHM d'où j'ai opté pour les triggers.

    Pourquoi je convertis mes données? Je constate qu'après synchronisation,la table résultante m’apparaît ainsi :
    Nom : synchro.png
Affichages : 122
Taille : 10,5 Ko.
    Alors que les données d'origine dans mon IHM sont en ASCII.


    Pour le résultat final, je veux une table comme ci-dessous :
    Nom : final.png
Affichages : 117
Taille : 3,5 Ko.

    Merci je vais tester vos programmes en rajoutant une ligne qui me permettrait de faire la conversion de BLOD en Varchar.
    Je vous ferai un retour.

    Encore merci pour l'intérêt que vous portez à mon POST.

  8. #8
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Pourquoi je convertis mes données? Je constate qu'après synchronisation,la table résultante m’apparaît ainsi :
    Si ça apparaît ainsi, c'est que vos colonnes sont de type BLOB. Pourquoi sont-elles ainsi si vous n'y stockez que des valeurs de type texte ? Un type VARCHAR ne suffirait-il pas ?

    D'après ce que j'ai compris de l’intérêt des triggers: ils permettent un déclenchement autonome des instructions ,un peu comme dans l'automatisme avec les exécutions d'un programme ou un bout de programme sur un front montant ou descendant d'un capteur (par exemple).
    C'est un peu ça.
    Un exemple de l'utilité d'un trigger...
    Soit une table de commandes qui sont numérotées sous la forme 'CDE-2017-0001' où 2017 représente l'année d'enregistrement de la commande et 0001 un numéro d'ordre de la commande dans l'année.
    La table des commandes est structurée ainsi :
    te_commande_cde(cde_id, cde_numero, cde_id_client, cde_date_enregistrement...)

    cde_id est la colonne clé primaire de type entier et auto-incrémentée.
    cde_numero est le numero de la commande utilisé physiquement et formaté comme je l'ai indiqué plus haut.

    Problème : Comment déterminer automatiquement le numéro de la commande qu'on est en train d'enregistrer ?
    Solution : un trigger ON INSERT va chercher le numéro de la dernière commande enregistrée de l'année en cours, en extraire la partie numéro d'ordre et l'augmenter de 1 puis composer le numéro complet de la commande pour l'ajouter aux données d'insertion. Un truc de ce genre (pas habitué aux trigger et plus généralement au SQL procédural de MySQL, pas sûr de la syntaxe) :
    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
    CREATE TRIGGER te_commande_cde_before_insert BEFORE INSERT ON te_commande_cde FOR EACH ROW
    BEGIN
    	DECLARE @annee = YEAR(CURRENT_DATE);
    	DECLARE @ordre;
    	DECLARE @numero;
    	DECLARE @test;
     
    	SELECT COUNT(*) INTO @test 
    	FROM te_commande_cde 
    	WHERE YEAR(cde_date_enregistrement) = @annee;
     
    	IF @test = 0 THEN 
    		@ordre = 1;
    	ELSE
    		SELECT MAX(CAST(RIGHT(cde_numero, 4) AS UNSIGNED)) INTO @ordre
    		FROM te_commande_cde
    		WHERE YEAR(cde_date_enregistrement) = @annee;
    	END;
     
    	@numero = CONCAT('CDE-', @annee, '-', LPAD(@ordre, 4, '0000')); 
     
    	NEW.cde_numero = @numero;
    END;
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  9. #9
    Candidat au Club
    Homme Profil pro
    Automaticien
    Inscrit en
    Août 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2016
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Merci CinePhil,

    Je vais refaire mon code comme vous l'aviez expliqué.
    Et je vous tiendrai au jus !

    Merci pour tout

  10. #10
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 380
    Points : 19 062
    Points
    19 062
    Par défaut
    Salut à tous.

    La seule contrainte, si j'ai bien compris votre problème, est d'avoir exactement les mêmes identifiants dans vos deux tables.
    Sinon, je ne comprends pas comment vous faites pour mettre à jour la seconde table vis-à-vis de la première table.

    Voici un exemple :
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    --------------
    SET AUTOCOMMIT = 0
    --------------
     
    --------------
    START TRANSACTION
    --------------
     
    --------------
    DROP DATABASE IF EXISTS `base`
    --------------
     
    --------------
    CREATE DATABASE `base`
        DEFAULT CHARACTER SET `latin1`
        DEFAULT COLLATE       `latin1_general_ci`
    --------------
     
    --------------
    DROP TABLE IF EXISTS `tabone`
    --------------
     
    --------------
    CREATE TABLE `tabone`
    ( `id`  INTEGER UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
      `b1`  blob             NOT NULL,
      `b2`  blob             NOT NULL,
      `b3`  blob             NOT NULL,
      `b4`  blob             NOT NULL
    ) ENGINE=InnoDB
      DEFAULT CHARSET=`latin1` COLLATE=`latin1_general_ci`
      ROW_FORMAT=COMPRESSED
    --------------
     
    --------------
    DROP TABLE IF EXISTS `tabtwo`
    --------------
     
    --------------
    CREATE TABLE `tabtwo`
    ( `id`       INTEGER UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
      `barcode`  TEXT             NOT NULL
    ) ENGINE=InnoDB
      DEFAULT CHARSET=`latin1` COLLATE=`latin1_general_ci`
      ROW_FORMAT=COMPRESSED
    --------------
     
    --------------
    DROP TRIGGER IF EXISTS `maj`
    --------------
     
    --------------
    CREATE TRIGGER `maj`
    AFTER INSERT ON `tabone`
    FOR EACH ROW
    BEGIN
      insert into `tabtwo`  (`id`,`barcode`)values (new.id, concat(new.b1,new.b2,new.b3,new.b4));
    END
    --------------
     
    --------------
    insert into `tabone` (`b1`,`b2`,`b3`,`b4`) values
      ('xxxx', 'yyyy', 'zzzz', 'tttt'),
      ('aaaa', 'bbbb', 'cccc', 'dddd')
    --------------
     
    --------------
    select * from `tabone`
    --------------
     
    +----+------+------+------+------+
    | id | b1   | b2   | b3   | b4   |
    +----+------+------+------+------+
    |  1 | xxxx | yyyy | zzzz | tttt |
    |  2 | aaaa | bbbb | cccc | dddd |
    +----+------+------+------+------+
    --------------
    select * from `tabtwo`
    --------------
     
    +----+------------------+
    | id | barcode          |
    +----+------------------+
    |  1 | xxxxyyyyzzzztttt |
    |  2 | aaaabbbbccccdddd |
    +----+------------------+
    --------------
    COMMIT
    --------------
     
    --------------
    SET AUTOCOMMIT = 1
    --------------
     
    Appuyez sur une touche pour continuer...
    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  11. #11
    Candidat au Club
    Homme Profil pro
    Automaticien
    Inscrit en
    Août 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Automaticien
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2016
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Bonjour tout le monde.

    @CinePhil
    @Artemus24

    Merci pour vos conseils et aides.J'ai les appliqués hier en fin de journée mais ma table finale me renvoie rien.
    Mais je vais continuer à creuser,je finirai par trouver la solution.

    Encore merci pour tout.Je viendrai ver vous dès que je trouverai la solution.

    Thank you guys

Discussions similaires

  1. [power designer et Sybase] trigger
    Par mr_qno dans le forum Sybase
    Réponses: 4
    Dernier message: 12/07/2006, 18h32
  2. [Interbase6] Trigger : Post_event
    Par Andry dans le forum InterBase
    Réponses: 2
    Dernier message: 13/05/2003, 09h27
  3. Trigger ??
    Par XDeus dans le forum Développement
    Réponses: 6
    Dernier message: 31/03/2003, 09h44
  4. [PostgreSQL] Refus de STATEMENT dans un trigger
    Par alex2205 dans le forum Requêtes
    Réponses: 3
    Dernier message: 10/03/2003, 12h51
  5. [Comparatif] Procédures stockées, triggers, etc.
    Par MCZz dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 28/08/2002, 12h27

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