PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 .NET » Npgsql et .Net Linq to SQL Classe (fichier .dbml) » 01/09/2011 12:48:46

mamoud
Réponses : 0

Bonjour,
est-il possible d'utiliser la bibliothèque Npgsql pour générer un fichier dbml avec l'outil sqlmetal.exe de VS 2010
Je sais qu'avec le concepteur de VS 2010 ne marche que avec MSSQL Server. maintenant il doit y avoir un moyen d'utiliser sqlmetal.exe pour créer un fichier dbml et les code source des metadata qui va avec. mais au niveau de la chaine de connexion je n'arrive pas à faire la liason avec le bon provider.
Sinon, s'il existe une autre bibliothèque gratuit que permet de faire ce genre de chose.

PS : J'ai enregistré Npgsql.dll et mono.security.dll dans le Global Assembly Cache et dans le machine.config.

#2 Re : PL/pgSQL » Trigger ON DELETE » 21/07/2011 16:03:15

Merci votre réactivité, effectivement c'est le RETURN, merci encore.

#3 PL/pgSQL » Trigger ON DELETE » 21/07/2011 15:47:02

mamoud
Réponses : 2

Bonjour,
J'ai une table (gestionnaire) qui est référencée dans deux autres tables, j'ai écris un trigger qui, lorsque je supprime une ligne de la table gestionnaire, je met à jour les deux autres table.
Problème : après un delete sur gestionnaire, la ligne à supprimer est toujours visible (même après avoir fais un deuxième delete et la clé n'est plus référencée)
les autres mise à jour s'exécute bien (sku et utilisateurs).
table gestionnaire(
id integer, --primary key
code varachar
)
table utilisateurs(
id integer
--some fields
id_gestionaire foreign key references gestionnaire (id)
)

table sku(
id integer
--some fields
id_gestionaire foreign key references gestionnaire (id)
)
Le code :
CREATE OR REPLACE FUNCTION p_delete_gest()
  RETURNS TRIGGER AS
$t_delete_gest$
DECLARE
    id_gestAdmin INTEGER;
BEGIN
    IF (TG_OP = 'DELETE') THEN
        SELECT id INTO id_gestAdmin
        FROM gestionnaire
        WHERE code = '*';
       
        UPDATE sku
        SET id_gestionnaire = id_gestAdmin
        WHERE id_gestionnaire = OLD.id;

        UPDATE utilisateurs
        SET id_gestionnaire = id_gestAdmin
        WHERE id_gestionnaire = OLD.id;

    END IF;
    RETURN NULL;
END;
$t_delete_gest$
  LANGUAGE 'plpgsql' VOLATILE;


CREATE TRIGGER t_delete_gest
BEFORE DELETE ON gestionnaire
FOR EACH ROW EXECUTE PROCEDURE p_delete_gest();

Pied de page des forums

Propulsé par FluxBB