|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre du Club
![]() Inscription : novembre 2002 Messages : 67 ![]() |
Bonjour,
supposons une vue MY_VIEW et deux tables MY_TABLE_1 et MY_TABLE_2. avec pour MY_TABLE_1 COLUMN_1 COLUMN_2 COLUMN_3 pour MY_TABLE_2 COLUMN_1 COLUMN_2 COLUMN_3 MY_TABLE_1 et MY_TABLE_2 ayant les meme structures et contenant les memes types de donnees (grosso modo MY_TABLE_2 contient des donnees qui ont ete deplacees depuis MY_TABLE_1) MY_VIEW est une jointure de ces deux tables : Code :
Que se passe t'il si je fais un insert into MY_VIEW (data_for_column_1, data_for_column_2, data_for_column_3) Est ce possible et si oui sur quelle table va etre insere l'enregistrement ? Et pour les autres ordres, j'ai cru comprendre dans la doc sybase que je ne pourrais en faire . Merci d'avance
__________________
Java, JDBC, SQL, Oracle Specialiste Kamehameha des blagues-boulets Barman de la taverne |
||
|
|
00
|
|
|
#2 |
|
Membre actif
![]() Inscription : février 2003 Messages : 180 ![]() |
comme son nom l'indique VIEW est une vue.
Or je n'ai jamais entendu parler de la possibilité de faire un insert sur une VIEW.
__________________
MashiMaro L'homme sage apprend de ses erreurs, l'homme très sage apprend des erreurs des autres. |
|
|
00
|
|
|
#3 | |
|
Membre du Club
![]() Inscription : novembre 2002 Messages : 67 ![]() |
Hummm ma question n'est pas aussi bete qu'il y parait
voici un extrait de la documentation Sybase : Adaptive Server Enterprise version 12 Réf. du document : 37926-01-1200-01 Dernière mise à jour : octobre 1999 Citation:
je reformule donc, est il donc impossible dans mon cas de faire un insert ou existe il une feinte ?
__________________
Java, JDBC, SQL, Oracle Specialiste Kamehameha des blagues-boulets Barman de la taverne |
|
|
|
00
|
|
|
#4 |
|
Membre actif
![]() Inscription : février 2003 Messages : 180 ![]() |
la feinte est d'utiliser le trigger INSERT de la table TABLE1 qui va automatiquement faire le meme INSERT dans la table TABLE2 (petit truc à développer tout de meme).
Et on peut faire l'inverse pour un insert dans TABLE2. Mais le soucis est que des que tu insert dans TABLE1, ca sera inséré systemétiquement dans TABLE2 et il sera impossible de contourner le trigger sans le supprimer puis le recréer. Maintenant, l'idéal est de gérer ca via une procédure stockée avec toutes les colonnes en paramètre et l'insert sur chaque table. De ce fait, tu gardes encore la possibilité de faire des insert indépendants à chaque table.
__________________
MashiMaro L'homme sage apprend de ses erreurs, l'homme très sage apprend des erreurs des autres. |
|
|
00
|
|
|
#5 |
![]() ![]() |
1) l'union dans la vue n'est possible que depuis Sybase ASE 12.5
2) la modification via une vue sur plusieurs tables requiert un certain nombre de contraintes, dont celle de pouvoir distinguer l'unicité de l'enregistrement modifié : ce n'est pas le cas avec un UNION |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com