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

Hvordan man opretter standard begrænsningsafhængig anden kolonne i sql server

Du vil have en beregnet kolonne. For eksempel:

CREATE TABLE tab1
(
 ID INT IDENTITY(1,1)
,[Type] VARCHAR(10)
,IsValued AS CASE [Type] WHEN 'S' THEN 1
                         WHEN 'R' THEN 0
             END
)

Du kan tilføje til en eksisterende tabel ved hjælp af følgende syntaks:

ALTER TABLE dbo.tab1 ADD IsValued AS CASE [Type] WHEN 'S' THEN 1
                                                 WHEN 'R' THEN 0
                                     END

Du kan gøre kolonnen vedvarende ved at tilføje søgeordet PERSISTED efter kolonneoprettelsen. Vedvarende kolonne betyder, at feltet er gemt på disken. Når du indsætter eller opdaterer en post, vil SQL-serveren beregne værdien på det tidspunkt. Hvis du ikke gør det, bliver SQL Server nødt til at finde ud af det, hver gang du får adgang til rækken. En god forklaring kan findes på SQL Server 2005 Computed Kolonne er vedvarende

ALTER TABLE dbo.tab1 ADD IsValued AS CASE [Type] WHEN 'S' THEN 1
                                                 WHEN 'R' THEN 0
                                     END PERSISTED



  1. T-SQL COALESCE GRUPPER SET i enkelt kolonne uden NULL dubletter

  2. Sådan ændres tekst til små bogstaver i SQL

  3. Kører store forespørgsler i baggrunden MS SQL

  4. Kan ikke tilføje mysql-driver til jboss