Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL > Requêtes
Requêtes Forum d'entraide sur les requêtes SQL spécifiques à PostgreSQL, les triggers, les vues, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/02/2011, 21h24   #1
Candidat au titre de Membre du Club
 
Inscription : avril 2010
Messages : 85
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 85
Points : 14
Points : 14
Par défaut PL/pgSQL select vers insert

Bonsoir,

Alors voilà avant de m'envoyer vers des liens de la documentation, je tiens à dire que je ne suis pas novice en programmation, mais je ne parviens, mais alors pas DU TOUT à comprendre quoi que ce soit au PL/pgSQL. (Et pourtant j'essaye).

Voilà mon problème :

J'ai un compte qui peut être crédité de jetons.
Un compte appartient à un groupe.
Un groupe indique des jetons crédités à la création d'un compte.
Un jeton est un tuple dans la table t_tokens.

Je cherche à faire un trigger qui crédite (copie) automatique les jetons du groupe auquel appartient les nouveaux comptes.

Quelqu'un sait comment il faut faire ?

Et au passage, si je me connecte à une BDD postgreSQL en C/C++ comment faire pour récupérer les erreurs émisent par la BDD lors d'une opération illégale ?

Merci
Agoudard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/02/2011, 23h22   #2
Candidat au titre de Membre du Club
 
Inscription : avril 2010
Messages : 85
Détails du profil
Informations forums :
Inscription : avril 2010
Messages : 85
Points : 14
Points : 14
Après des recherches acharnées :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
CREATE OR REPLACE FUNCTION f_deal_tokens() RETURNS TRIGGER AS $f_deal_tokens$
	DECLARE
		token RECORD;
	BEGIN
		FOR token IN SELECT tj_deal.dea_event_id FROM tj_deal WHERE (tj_deal.dea_group_id = NEW.acc_group_id) LOOP
			INSERT INTO t_tokens (tok_account_id, tok_event_id) VALUES (NEW.acc_id, token.dea_event_id);
		END LOOP;
		RETURN NULL;
	END;
$f_deal_tokens$ LANGUAGE plpgsql;
Agoudard est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h33.


 
 
 
 
Partenaires

Hébergement Web