Reply to this topicStart new topic
> PL/SQL : Des articles
Nokilling
posté 25 Jul 2008, 13:37
Message #1


Membre Habitué
********

Groupe : Membres ++
Messages : 628
Inscrit : 2-January 04
Lieu : Paris
Membre no 1994



Bonjour tout le monde smile.gif

Voila, dernièrement je me suis à la base de donnée PostgreSQL pour la gestion des clefs étrangère surtout (et aussi, parce que je voulais voir des nouveaux trucs stuart.gif)

Maintenant, j'aimerai bien utiliser des fonction en PL/SQL, mais voila, je vois surtout des articles pour Oracle, je me demandais donc si c'était exactement la même chose que pour Oracle ?

Voila, si vous avez des articles/tutorial là dessus, je suis preneur (car la doc sur PostgreSQL propose quelque exemples, mais rien de bien méchant smile.gif ).

Voila, merci d'avance smile.gif

Ce message a été modifié par Nokilling - 25 Jul 2008, 15:39.


--------------------
Developpement de JpSoul : en cours
Go to the top of the page
 
+Quote Post
Méthylbro
posté 25 Jul 2008, 22:46
Message #2


Directeur Département Développement
Icône de groupe

Groupe : Staff Développement
Messages : 1092
Inscrit : 3-June 04
Lieu : Toulouse - Haute-Garonne - France
Membre no 3009



Qu'est ce que tu veux savoir ?

Comment créer une FOREIGN KEY ?


--------------------
Méthylbro, Développeur Web
Directeur Département Développement
"Seuls les petits hommes redoutent les petit écrits."
Go to the top of the page
 
+Quote Post
Nokilling
posté 26 Jul 2008, 15:11
Message #3


Membre Habitué
********

Groupe : Membres ++
Messages : 628
Inscrit : 2-January 04
Lieu : Paris
Membre no 1994



Non, ça je sais faire, je cherche surtout à apprendre à apprendre le langage pour y faire des fonctions smile.gif

Genre après chaque INSERT (que je fais à la main, et qu'il ne me met à jours les séquences), je voudrais par exemple faire une fonction qui s'occupe de faire ça smile.gif

Ou encore, si par exemple, j'insert une donnée dans une certaines table, je vérifie que la valeur n'est pas supérieure à la valeur maximale qui sera mis dans une autre table smile.gif (Et tout ça en utilisant le language PL/SQL smile.gif )


--------------------
Developpement de JpSoul : en cours
Go to the top of the page
 
+Quote Post
Méthylbro
posté 26 Jul 2008, 16:30
Message #4


Directeur Département Développement
Icône de groupe

Groupe : Staff Développement
Messages : 1092
Inscrit : 3-June 04
Lieu : Toulouse - Haute-Garonne - France
Membre no 3009



ce que tu veux c'est des triggers en fait ....


--------------------
Méthylbro, Développeur Web
Directeur Département Développement
"Seuls les petits hommes redoutent les petit écrits."
Go to the top of the page
 
+Quote Post
Nokilling
posté 27 Jul 2008, 02:27
Message #5


Membre Habitué
********

Groupe : Membres ++
Messages : 628
Inscrit : 2-January 04
Lieu : Paris
Membre no 1994



Les deux en faites, car je crois (si j'ai bien compris), que les triggers sont les moments auxquels ont à besoin de faire appel à nos fonction écrite en PL/SQL smile.gif


--------------------
Developpement de JpSoul : en cours
Go to the top of the page
 
+Quote Post
Méthylbro
posté 27 Jul 2008, 12:51
Message #6


Directeur Département Développement
Icône de groupe

Groupe : Staff Développement
Messages : 1092
Inscrit : 3-June 04
Lieu : Toulouse - Haute-Garonne - France
Membre no 3009



En fait les triggers sont des déclancheurs.
Un peut comme des événements en JavaScript.

Mais les triggers ne sont pas une spécificité à PostgreSQL. Cela fait partie du standart SQL, tu les retrouveras donc dans PostgreSQL, Oracle, SQLServer, MySQL (même si dans MySQL ils sont très limités).

un petit tour rapide sur la toile et tu trouveras plein de tutoriels à ce sujet.

http://www.grappa.univ-lille3.fr/~tommasi/...ncheursSql.html


--------------------
Méthylbro, Développeur Web
Directeur Département Développement
"Seuls les petits hommes redoutent les petit écrits."
Go to the top of the page
 
+Quote Post
Nokilling
posté 28 Jul 2008, 15:24
Message #7


Membre Habitué
********

Groupe : Membres ++
Messages : 628
Inscrit : 2-January 04
Lieu : Paris
Membre no 1994



Merci pour le lien, là je suis en train de regarder les différents articles présent sur le site smile.gif
Là je viens de regarder la doc, mais je ne suis pas sur d'avoir bien compris ^^

Voici ce qu'il donne :
Code
CREATE FUNCTION emp_stamp() RETURNS trigger AS '
    BEGIN
        -- Verifie que empname et salary sont donnés
        IF NEW.empname IS NULL THEN
            RAISE EXCEPTION ''empname cannot be NULL'';
        END IF;
        IF NEW.salary IS NULL THEN
            RAISE EXCEPTION ''% cannot have NULL salary'', NEW.empname;
        END IF;

        -- Qui travaille pour nous quand elle doit payer pour cela ?
        IF NEW.salary < 0 THEN
            RAISE EXCEPTION ''% cannot have a negative salary'', NEW.empname;
        END IF;

        -- Rappelons nous qui a changé le payroll quand
        NEW.last_date := ''now'';
        NEW.last_user := current_user;
        RETURN NEW;
    END;
' LANGUAGE plpgsql;

CREATE TRIGGER emp_stamp BEFORE INSERT OR UPDATE ON emp
    FOR EACH ROW EXECUTE PROCEDURE emp_stamp();


Ce que je comprend pas, c'est pourquoi il retourne un trigger ?
Car il retourne NEW, ce qui veux donc dire qu'il retourne la commande SQL que l'on lui a passé, mais qu'il modifie quelques informations, comme la last_date, ainsi que last_user.

Merci d'avance smile.gif

Ce message a été modifié par Nokilling - 29 Jul 2008, 16:04.


--------------------
Developpement de JpSoul : en cours
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic

 

RSS Version bas débit Nous sommes le : 6 September 2010 - 09:42