sql >> Databasteknik >  >> RDS >> Sqlserver

Lagra array i SQL Server 2008

Du vill skapa separata tabeller, med en rad per kontaktnummer eller e-postadress.

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

Detta gör att du kan ändra enskilda nummer/e-postmeddelanden, ta bort dem, lägga till dem, etc, utan att behöva ett externt program för att packa upp en array.

Men om du verkligen vill lagra den denormaliserad, kan du omvandla arrayen till en avgränsad sträng. . sätt en avgränsare mellan varje e-postadress (med lämplig magi för att se till att en adress inte redan innehåller avgränsaren) och dela den sedan på vägen ut igen.



  1. Insamlingsmetod:COUNT-funktion i Oracle Database

  2. Postgres lägger till eller ställer in varje element (om det inte finns) i en array till en arraykolumn

  3. Hur ställer jag in en Postgresql standardvärdesdatumstämpel som 'ÅÅÅÅMM'?

  4. mySQL-partitionering av multi-fil kontra en-fil prestanda?