death114 发表于 2018-10-22 10:52:52

SQL Serverver -- 创建财政年度表 (约束)

  -- 实例1: 创建财政年度表 (约束)
  -- 新建表:
  Create table FiscalYears
  (
  fiscal_year INTEGER NOT NULL PRIMARY KEY,
  start_date DATE NOT NULL,
  constraint valid_start_date
  CHECK(
  year(start_date) = fiscal_year -1
  AND MONTH(start_date)=10
  AND DAY(start_date)=01
  ),
  end_date date NOT NULL,
  constraint valid_end_date
  CHECK(
  year(end_date) = fiscal_year
  AND MONTH(end_date)=10
  AND DAY(end_date)=01
  )
  );
  -- 删除约束 valid_end_date
  Alter table FiscalYears
  drop constraint valid_end_date
  --新建约束
  Alter table FiscalYears
  add constraint valid_end_date
  CHECK(
  year(end_date) = fiscal_year
  AND MONTH(end_date)=09
  AND DAY(end_date)=30
  )
  --或:
  ALTER TABLE .
  WITH CHECK
  ADDCONSTRAINT
  CHECK(
  (
  datepart(year,)=
  AND datepart(month,)=(9)
  AND datepart(day,)=(30)
  )
  )
  GO
  --插入数据到表 FiscalYears
  insert into dbo.FiscalYears
  values(
  '1990',
  '1989-10-01',
  '1990-09-30'
  )
  --参考: http://www.xuebuyuan.com/53328.html ;
  -- http://m.blog.csdn.net/blog/zhaoyh0530/4535987

页: [1]
查看完整版本: SQL Serverver -- 创建财政年度表 (约束)