Vous n'êtes pas identifié(e).
Pages : 1
Bonjour je ne sais pas si c'est ici que je dois poser ma préoccupation
j'ai un problème et je souhaite une assiste
j'ai deux tables par exemple:
Facture(code verchar(8),date datetime,montant real) avec le champ code qui est une clef unique
ensuite la table
Lifact(code varchar(8), codart int, qte real) avec les champs (code,codart) qui reprensentent une clef unique
Le champ code du fichier Lifact fait reference à la table Facture....
Lorsque j'exécute ceci dans une seule transaction:
BEGIN TRANSACTION
INSERT INTO FACTURE ('NB0014',NOW(),5000);
INSERT INTO LIFACT ('NB0014','BAR0005',10);
END;
j'ai le message d'erreur suivant: une instruction insert viole la contrainte de clef étrangère, le clef "code=('NB0014') n'est pas présente dans la table FACTURE
l'erreur est à quel niveau? devais je d'abord enregistrer complètement la première ligne avant de procéder à l'enregistrement de la seconde ligne? et si c'est le cas je cours le risque d'avoir des informations dans le Fichier FACTURE SANS CORRESPONDANCE DANS LE FICHIER LIFACT.
S.O.S
comment faire donc? je veux obtenir en même temps les articles présents dans "article" ayant ou non les correspondances dans prixarticle pour une agence précise.
qu'est ce que cette requête me renverrai?
select * from article left outer join prixarticle on article.idart=prixarticle.idart and idagence='10' en plus quelle difference avec celle-ci: select * from article left outer join prixarticle on article.idart=prixarticle.idart where idagence='10'
Bonjour,
J'ai un problème et j'aimerai avoir une assistance.
j'ai deux tables dans postgresql article(idart,libelle,poidbrut,poidnet,suivistock.......) ayant pour clef unique idart et prixarticle(idart,prixa,prixd,prixg,prixdgros,idagence,.....) ayant pour clef unique "idart,idagence" en effet cette dernière table doit contenir les prix concernant plusieurs de nos sites distants... on a une table des sites similaire à ceci site(idagence,libelle,localisation,responsable,telephone,boite postale,,...............)
la table "article" contient tous les articles crées et commercialisés. on a bien évidemment des articles qui n'ont pas encore des prix affectés, et par conséquent n'auront aucune référence dans la table "prixarticle"
le problème que j'ai est le suivant: comment afficher tous les enregistrement de la table "article" ayant des correspondances ou pas dans la table "prixarticle" pour un site particulier par exemple ayant la reference idagence='10'. la requette suivante ne me donne pas le resultant correct: " select * from article left outer join prixarticle on article.idart=prixarticle.idart where idagence='10' ". seuls les articles du site '10' et ayant une correspondance dans les deux tables sont renvoyés pourtant j'attends plus d'enregistrement. Alors où est l'erreur?
Bonsoir chers tous,
j'ai un soucis avec un champs de type timestamp de postgresql 9.6
je suis au Cameroun, il est 19h11min j'ai exécuté la requête suivante "set timezone="Africa/Douala'; afin que le time zone corresponde à celui du Cameroun.
sauf que quand j'insère un enregistrement dans ma base de donnée la date sauvegardée dans le champs de type timestamp est '20h11' soit une heure de plus que l'heure normale!
je ne comprends pas ce qui se passe!
comment corriger définitivement ce type de problème ?
Merci d'avance à vous!
Je suis perdu!
Dans ce cas que faudra t-il faire? que me conseillez vous de faire pour assurer la cohérence de mes données?
sinon j'aurai un comportement où les données sont insérées dans la table "table1" sans être insérées dans la table "table2"!! L'insertion dans la table "table2" découle d'un trigger "AFTER INSERT" appliqué sur chaque ligne de la table "table1"...............je n'avance plus...
S.O.S
Bonsoir à vous chers camarades,
Un soucis qui m'embête sur l'utilisation des triggers.
je voudrais savoir si c'est possible d'annuler l'effet d'une commande INSERT,UPDATE sur une table "Table_emp" lorsque le triggers
"AFTER INSERT/UPDATE" sur chaque ligne de la table "table_emp" ne s'exécute pas correctement.
En d'autre terme je voudrais savoir quel est l'effet d'un TRIGGER "AFTER" appliqué pour chaque ligne lors d'un UPDATE/INSERT. J'ai l'impression que cela n'a aucun effet sur la transaction qui l'a invoquée.
Bonjour et merci pour votre assistance!
Je programme avec WINDEV Version 24 et je ne trouve pas comment faire.....
Bonjour,
tant que je ne trouve pas une solution à ce problème je n'avancerai vraiment pas. et C'est très utile pour la suite de mon projet:
Toujours la même préoccupation:
Est ce possible de déterminer le nombre d'enregistrement affecté par INSERT/UPDATE/DELETE sans être dans une procédure stockée? si oui un exemple svp
Bonjour,
j'ai encore mes idées qui sont confus!
en effet j'ai une table du genre table1(codtab :integer,codel:integer,libeelt: varchar(20)) le champs codel doit être continue, à chaque insertion d'un nouvel enregistrement dans un environnement multiutilisateur, je dois exécuter la requête select (max (codel)+1) pour recupere cette valeur et l'affecter au nouvel enregistrement. le risque de cette méthode est que plusieurs utilisateurs peuvent récupérer la même valeur de codel! Le problème d'intégrité se posera sans doute.
Bonsoir à vous,
j'ai besoin de votre assistance au sujet de l'utilisation des transactions dans postgresql
En fait puis je démarrer une transaction dans un trigger ou pas?
Bjr regarder ce bout de code:
j'ai une creer une fonction compte() qui doit en fait me renvoyer le nombre d'enregistrement affecté par une instruction UPDATE/INSERT. Le resultat obtenu dépend de l'endroit ou est placé le UPDATE/INSERT
DECLARE
nbre integer;
BEGIN
insert into ffamille(codfam,codsfam,desigfamss)values('17','17','AROMES');
GET DIAGNOSTICS nbre = ROW_COUNT;
RAISE NOTICE E'--- Call nbre ---\n%', nbre;
RETURN nbre;
END;
Lorsque l'instruction INSERT/UPDATE est à l’intérieur de la fonction comme ci-haut le résultat renvoyé est 1 et c'est correct.
Par contre si je fait plutôt ceci:
DECLARE
stack integer;
BEGIN
GET DIAGNOSTICS stack = ROW_COUNT;
RAISE NOTICE E'--- Call Stack ---\n%', stack;
RETURN stack;
END;
ensuite j’exécute les deux requêtes suivantes:
insert into ffamille(codfam,codsfam,desigfamss)values('17','17','AROMES');
select compte();
le résultat renvoyé est 0. Ce qui n'est pas bon.
Ou se trouve l'erreur s'il vous plait!
Bonjour,
J'ai lu ceci https://www.postgresql.org/docs/13/plpg … IAGNOSTICS j'aimerai avoir un bout de code en utilisant la commande UPDATE....FOUND.....//MERCI
Bonjour à tous,
Je viens de commencer avec Postgresql, j'ai utilisé plusieurs autres bases de données et je voudrai savoir s'il est possible après un "UPDATE/INSERT/DELETE" de connaitre le nombre d'enregistrements affectés.
Cette instruction existe dans d'autre gestionnaires de BD.
Merci pour votre assistance.
Pages : 1