Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Matrice di archiviazione in SQL Server 2008

Ti consigliamo di creare tabelle separate, con una riga per numero di contatto o indirizzo email.

CREATE TABLE Contacts (contactId int, name varchar(128), etc, etc
CREATE TABLE ContactEmail (contactId int, emailAddress varchar(128), etc
CREATE TABLE ContactPhone (contactId int, phoneNumber varchar(128), etc

Ciò ti consentirà di modificare singoli numeri/e-mail, rimuoverli, aggiungerli, ecc. senza richiedere a un programma esterno di decomprimere un array.

Ma se vuoi davvero archiviarlo denormalizzato, puoi trasformare l'array in una stringa delimitata. . metti un delimitatore tra ogni indirizzo email (con la magia appropriata per assicurarti che un indirizzo non contenga già il delimitatore), quindi dividilo al ritorno.