SQL Serverver -- 建立財政年度表 (約束)

來源:互聯網
上載者:User

標籤:sql

-- 執行個體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 [dbo].[FiscalYears] 
WITH CHECK
ADD  CONSTRAINT [valid_end_date]
 CHECK(
   (
    datepart(year,[end_date])=[fiscal_year]
    AND datepart(month,[end_date])=(9)
    AND datepart(day,[end_date])=(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


本文出自 “Ricky's Blog” 部落格,請務必保留此出處http://57388.blog.51cto.com/47388/1699518

SQL Serverver -- 建立財政年度表 (約束)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.