Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да създадете друга колона, зависима от ограничение по подразбиране, в sql сървър

Искате изчислена колона. Например:

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

Можете да добавите към съществуваща таблица, като използвате следния синтаксис:

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

Можете да направите колоната постоянна, като добавите ключовата дума PERSISTED след създаването на колоната. Запазването на колоната означава, че полето се съхранява на диск. Когато вмъкнете или актуализирате запис, SQL сървърът ще изчисли стойността в този момент. Ако не го направите, SQL Server ще трябва да го обработва всеки път, когато имате достъп до реда. Добро обяснение може да се намери на SQL Server 2005 Computed Колоната се запазва

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да изберете дата без час в SQL

  2. съхранявате арабски в SQL база данни

  3. SqlException:System.Data.SqlClient.SqlException (0x80131904)

  4. Как да ускоря DbSet.Add()?

  5. HTML формат в sp_send_dbmail