Je souhaite stocker plusieurs ID de courrier électronique dans la colonne ID de courrier électronique d'une table, en tant qu'attribut à plusieurs valeurs. Comment puis-je faire cela en oracle?comment implémenter l'attribut multivalué dans Oracle?
3
A
Répondre
2
La manière traditionnelle, relationnelle de faire cela serait avec une table de tas d'enfants:
create table emails
(id number
, email_address varchar2(254)
, constraint em_t23_fk foreign key (id)
references t23 (id)
)
/
Cependant, vous faites allusion à une table imbriquée:
create type email_t as object
(email_address varchar2(254))
/
create type email_nt as table of email_t
/
alter table t23
add emails email_nt
nested table emails store as emails_table
/
Voilà comment cela fonctionne:
SQL> update t23
2 set emails = email_nt (email_t('s[email protected]')
3 , email_t('[email protected]'))
4 where id = 222
5/
1 row updated.
SQL> select * from t23
2 where id = 222
3/
ID NAME DOB
---------- ------------------------------ ---------
EMAILS(EMAIL_ADDRESS)
----------------------------------------------------------------------------------
222 Sam-I-Am 06-AUG-02
EMAIL_NT(EMAIL_T('[email protected]'), EMAIL_T('[email protected]'))
SQL>
Modifier
La solution avec VARRAY est fondamentalement la même:
SQL> alter table t23
2 drop column emails
3/
Table altered.
SQL> create type email_va as varray(5) of varchar2(254)
2/
Type created.
SQL> alter table t23
2 add emails email_va
3/
Table altered.
SQL> update t23
2 set emails = email_va ('[email protected]'
3 , '[email protected]')
4 where id = 222
5/
1 row updated.
SQL> select t23.name
2 , e.*
3 from t23
4 , table (t23.emails) e
5 where t23.id = 222
6/
NAME COLUMN_VALUE
------------------------------ ---------------------------------
Sam-I-Am [email protected]
Sam-I-Am [email protected]
SQL>
2
La méthode standard consiste à définir une deuxième table dans laquelle vous pouvez stocker un e-mail par ligne. Oracle prend également en charge nested tables afin qu'une seule colonne d'attributs puisse contenir plusieurs valeurs.
Questions connexes
- 1. comment analyser de champ multivalué requête URL dans Rails
- 2. Comment allez-vous implémenter WEbUtil avec Oracle Forms 10g
- 3. comment implémenter Oracle -> conversion oracle/programme de recyclage en C#/ADO.NET 2.0
- 4. En Solr, Comment interroger contre un champ pour ensemble de valeurs distinctes dans un champ multivalué
- 5. Comment implémenter JSplitPane dans BorderLayout?
- 6. Comment implémenter SimpleTest dans Kohana
- 7. Comment implémenter ConfigurationElement dans C#?
- 8. Comment implémenter SimpleOnGestureListener dans l'activité
- 9. Comment implémenter setInterval dans Delphi?
- 10. Comment implémenter autoscroll dans DataGridView?
- 11. Comment implémenter NSGraphicsContext dans l'iphone
- 12. comment implémenter videochat dans asp.net
- 13. comment implémenter MVC dans jquery
- 14. Traitement parallèle dans oracle
- 15. Comment Oracle XMLTYPE dans Hibernate
- 16. Comment produire rang dans Oracle
- 17. Oracle: Comment convertir un hex en décimal dans Oracle SQL?
- 18. comment implémenter Jmf
- 19. Comment implémenter if-else
- 20. Comment implémenter l'authentification Querystring
- 21. Comment implémenter l'interface IEditableCollectionView
- 22. Comment implémenter IDEA?
- 23. Comment implémenter la pagination?
- 24. Comment implémenter IEnumerable?
- 25. ASP.NET comment implémenter IServiceLayer
- 26. Comment implémenter le traçage dans .net
- 27. Comment implémenter l'ordre des lignes dans Rails?
- 28. comment implémenter ce processus dans wxpython?
- 29. comment implémenter l'algorithme RSA dans l'application iphone?
- 30. Comment implémenter la déconnexion dans l'application Struts
Merci u. nw j'ai eu .. le concept. –
hey puis-je utiliser varray pour enregistrer plusieurs enregistrements dans une colonne ?? –