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

Добавяне на стойност по подразбиране към съществуваща колона въз основа на If Then Else sql сървър 2008

Можете да го направите чрез ограничението CHECK,

Първо ще трябва да създадете таблица,

 create table myTemp1(TempId int not null ,TransCode int,ReasonCode int);

и след това добавете ограничението като

създаване на таблица myTemp1(TempId int not null ,TransCode int,ReasonCode int);

alter table myTemp1
add constraint check_role CHECK(case when (TransCode = 1 AND ReasonCode = NULL)
                                then 99 else ReasonCode end = ReasonCode);

ИЛИ харесвам

alter table myTemp1
add constraint check_role CHECK(ReasonCode = (case when (TransCode = 1 AND ReasonCode
                                = NULL) then 99 else ReasonCode end = 1))

демонстрация на http://sqlfiddle.com/#!3/d633a/1



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Физическото местоположение на данните от FILESTREAM

  2. Вмъкване от една таблица в множество таблици при нормализиране на базата данни

  3. SQL Server 2008 - Как да конвертирате GMT ​​(UTC) дата и час в локална дата и час?

  4. Оптимизиран SQL за дървовидни структури

  5. Актуализирайте данните чрез функция с таблично значение в SQL Server