Message d'erreur SQL - SQL/NoSQL - Programmation
Marsh Posté le 16-06-2004 à 16:33:30
tu travail avec quoi comme SGBD ?
Deja tu devrais séparé tes scripts de création de tables et création de contraintes ...
pour les séquences va voir la :
http://www.commentcamarche.net/oracle/oracseq.php3
ou la :
http://www.techonthenet.com/oracle/index.htm
et puis fais voir ton script qui remplit tes tables
Marsh Posté le 18-06-2004 à 10:53:47
Je travaille sous PostgreSQL.
J'ai un peu mieux ciblé mon problème
Mes tables
Code :
|
Après la création d'une instance "GenicsInteractions" avec '1' comme clé primaire, je ne peux pas faire:
Code :
|
ERROR: $1 referential integrity violation - key referenced from certitudes not found in interactions
Par contre si je crée une instance "Interactions", il n'y a aucun problème. Mon problèmes vient donc de l'héritage. Faut-il ajouter une contrainte à la clé étrangère "key_int" dans la table "Certitudes" du fait que cette clé puisse provenir de t table "Interactions" ou "GenicsInteractions"
Merci d'avance.
Marsh Posté le 18-06-2004 à 10:55:56
INSERT INTO Certitudes (key_cert, Frag, Key_Int) |
tu a 3 champ défini, mais tu n'insere que 2 valeurs
Marsh Posté le 18-06-2004 à 10:59:25
Erreur de retransciption, désolée
Ca ne marche pas, même si l'on met
INSERT INTO Certitudes (key_cert, Frag, Key_Int)
VALUES ('1', 'Toto', '1');
Marsh Posté le 18-06-2004 à 11:04:09
Oui, après de nombreux essai, je me suis aperçue que le problème était au niveau de "key_int"
Marsh Posté le 16-06-2004 à 13:51:36
Voilà, mon doce de création des tables nécessaires
-- Creation de la table Interactions --
CREATE TABLE Interactions(
Key_Int VARCHAR(10) PRIMARY KEY,
Indice VARCHAR(30), -- GI, NGAI, NGTI --
Id INTEGER,
Assertion VARCHAR(15),
Regulation VARCHAR(15),
Uncertainty VARCHAR(15),
Selfcontained VARCHAR(15),
Confidence VARCHAR(15)
);
CREATE TABLE GenicsInteractions(
Type VARCHAR(50)
)INHERITS (Interactions);
CREATE SEQUENCE numInts
START 1;
-- Creation de la table Certitude --
CREATE TABLE Certitudes(
Key_cert VARCHAR(10) PRIMARY KEY,
ShortFrag VARCHAR(100),
LongFrag VARCHAR(100),
Key_Int VARCHAR(10),
FOREIGN KEY (Key_Int) REFERENCES Interactions (Key_Int)
);
Quand, je lance mon script Perl censé remplir mes tables, j'ai cette erreur: "ERROR: $1 referential integrity violation - key referenced from certitudes not found in interactions"
Je ne comprend pas, je souhaite mettre à jour une instance de la table Certitudes en mettant la clé étrangère key_int correspondant à la valeur courante de la séquence (= à 1), sachant qu'il y a bien une instance de la table Intéraction d'enregistrer avec une clé primaire égale à 1.
Merci de votre aide par avance