當前位置:首頁 » 編程語言 » sqlserver2008添加約束
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sqlserver2008添加約束

發布時間: 2022-12-12 12:47:03

『壹』 sql server怎樣刪除外鍵約束

1.首先,我們使用SQLSERVER2008打開需要刪除外鍵約束的表,點擊左側的「dbo」通道項,選擇「setclick」。

注意事項:

可以雙擊鍵約束來添加外鍵約束,它有四個不同的選項:CASCADE、SETNULL、NOACTION、restricted。

1.級聯:刪除或更新父表中相應的行,並自動刪除或更新表中匹配的行。[在刪除CANSCADE和更新CANSCADE都支持InnoDB。

2.SETNULL:刪除或更新父表中對應的行,並將子表中的外鍵列設置為空。注意,這些外鍵列沒有設置為NOTNULL。InnoDB支持刪除集空值和更新集空值。

3.無操作:InnoDB拒絕刪除或更新父表。

4.限制:拒絕刪除或更新父表。

『貳』 怎樣用sql server2008編寫將「部門編號」欄位添加外鍵約束,約束標識為fkbmld.與部

選中要添加外鍵的表,選擇設計


完成

『叄』 sql server 2008資料庫關系圖怎麼定義主鍵和約束

1、採用向導定義主鍵和約束,這個應該很簡單
2、使用sql語句聲明主鍵和添加約束
primary key用來聲明主鍵。
添加主鍵約束語句如:
alter table member

add

constraint PK_member_member_no primary key clustered (member_no)

『肆』 關於sql server2008 建表添加約束

CREATETABLE表名
(
stuNovarchar(10)PRIMARYKEY,
stuSexvarchar(8)notnull,
stuAgevarchar(14)notnull
)

ALTERTABLE[表名]ADDCONSTRAINTcheck_stuNoCHECK(stuNolike'S253%')
ALTERTABLE[表名]ADDCONSTRAINTdefault_stuSexDEFAULT'男'FORstuSex
ALTERTABLE[表名]ADDCONSTRAINTcheck_stuSexCHECK(stuSex='男'orstuSex='女')
ALTERTABLE[表名]ADDCONSTRAINTcheck_stuAgeCHECK(stuAgebetween15and50)

『伍』 SQL Server 2008 如何查看與創建約束

查看或者創建約束都要使用到 Microsoft SQL Server Managment Studio。�0�21. PRIMARY KEY約束在表中常有一列或多列的組合,其值能唯一標識表中的每一行。這樣的一列或多列成為表的主鍵(Primary Key)。一個表只能有一個主鍵,而且主鍵約束中的列不能為空值。查看PRIMARY KEY約束可以在object explorer中依次展開Databases –> 選擇你要查看的資料庫(在我的例子中是testdatabase) –> Tables –> 你要查看的表(在我的例子中是company)-> Columns如上圖所示,Primary Key 有一把金色的小鑰匙。companyid 即為company表的primary key。�0�2創建PRIMARY KEY約束可以右鍵點擊表,然後選擇Design,打開表設計器選中column,點擊上面的金色小鑰匙,來創建Primary Key。也可以右鍵點擊column,然後選擇Set Primary Key。�0�2�0�22. FOREIGN KEY約束外鍵(Foreign Key)是用於建立和加強兩個表(主表與從表)的一列或多列數據之間的連接的。創建約束的順序是先定義主表的主鍵,再對從表定義外鍵約束。查看FOREIGN KEY約束,展開Columns,可以看到灰色的小鑰匙為Foreign Key;展開Keys,可以看到Foreign Key約束的名字為FK_contact_company。在表設計器中,也可以點擊上面的Relationships按鈕,這樣就可以查看到所有的Foreign Key約束上面的例子可以看到contact 表的companyid為外鍵,company 表的companyid為主鍵。�0�2下面來演示一下如何創建的該Foreign Key約束。同樣是點擊完Relationships按鈕之後,在彈出的對話框中選擇Add然後點擊下面的紅色圓圈內的按鈕:按下圖中那樣設置主表、主鍵和從表、外鍵然後點擊 OK,不要忘記保存你的設計。�0�2�0�23. UNIQUE約束UNIQUE約束用於確保表中的兩個數據行在非主鍵中沒有相同的列值。與PRIMARY KEY約束類似,UNIQUE約束也強制唯一性,但UNIQUE約束用於非主鍵的一列或多列組合,且一個表可以定義多個UNIQUE約束,另外UNIQUE約束可以用於定義多列組合。�0�2還以company table為例,假設我們要約束company name為唯一的,點擊Manage Indexes and Keys然後點擊Add來添加Unique約束選擇column為companyname, Is Unique為Yes。關閉並保存你的設計,這樣一個Unique約束就創建好了。�0�2�0�24. DEFAULT約束若在表中某列定義了DEFAULT約束,用戶在插入新的數據行時,如果該列沒有指定數據,那麼系統將默認值賦給該列,當然該默認值也可以是空值(NULL)。�0�2以contact表為例,在表設計器中,為性別(sex)列填寫屬性默認值 (『M』)。�0�2�0�25. CHECK約束CHECK約束用於限制輸入一列或多列的值的范圍,通過邏輯表達式來判斷數據的有效性。一個列的輸入內容必須滿足CHECK約束的條件,否則數據無法正常輸入。�0�2還以contact表為例, 我們要限制sex列的值只能為 �0�7M�0�7 或者 �0�7F�0�7。在表設計器中點擊Manage Check Constraints點擊Add添加新的constraint點擊紅圈內的按鈕,填寫表達式。我們例子中用的表達式是 SEX='M' OR SEX='F'關閉並保存設計。

『陸』 SQL SERVER2008關於VARCHAR類型的CHECK約束問題

--建立一個表,有兩個欄位:ID, DataValue
--為 ID 欄位建立約束:主鍵、CHECK
CREATE TABLE [dbo].[TemplateTb](
[ID] [varchar](10) NOT NULL,
[DataValue] [nvarchar](50) NULL,
CONSTRAINT PrimaryKey_UniqueID PRIMARY KEY([ID]),
CONSTRAINT Check_UniqueID CHECK (
LEN([ID])=8 AND
LEFT([ID],2)='00' AND
ISNUMERIC(SUBSTRING([ID],3,2))=1 AND
SUBSTRING([ID],5,1)='_' AND
SUBSTRING([ID],6,3) NOT LIKE '%[^a-zA-Z]%'
)
)

經測試完全OK ,如果你的表已經建立,可在 SQL Server 管理工具中為欄位 ID 添加約束,然後把 CHECK 關鍵字後面的的條件表達式復制到"CHECK 約束"中的「常規」,「表達式」內

『柒』 高分求救!! sql server2008建立外鍵約束的問題。

CourseInfo表中的CourseId必須得是一個屬性組成的主碼,即CourseInfo中的主碼只能是CourseId,不能是(CourseId,TeacherId,DepartmentId),才能建立引用關系。

『捌』 sql server2008 資料庫約束

假設一個表中有A、B兩個列名,在Check約束里寫:
(A
IS
NULL
AND
B
IS
NOT
NULL)
OR
(B
IS
NULL
AND
A
IS
NOT
NULL)
OR
(A
IS
NOT
NULL
AND
B
IS
NOT
NULL)
問題解決了請採納,如有疑問請補充!

『玖』 sql server如何添加約束

--添加unique約束
alter
table
表名
add
constraint
約束名
unique
(規格說明)
--刪除原來的約束需要知道約束名
--用sp_helpconstraint取得約束名
exec
sp_helpconstraint
'表名'
執行以後constraint_type列應該有一個是check
on
column
數量
看看constraint_name是什麼,然後用以下語句刪除
alter
table
表名
drop
constraint
約束名
--添加新的check約束
alter
table
表名
with
nocheck
add
constraint
約束名
check(數量
between
1
and
1000)

『拾』 SQL Server 2008用SQL語句寫出設置出生日期與身份證號之間的約束。

--沒用過2008,出生日期和身份證號對比如下:
declare @m varchar(2),@d varchar(2),@bir datetime,@sfz varchar(18)
set @bir = (select birthday from tabname) --從表中取出生日時間
set @sfz = (select sfzh from tabname) --從表中取身份證號
--取月份
set @m = cast(month(@bir) as varchar(2))
if len(@m) = 1
begin
set @m = '0'+@m
end
--取天
set @d = cast(day(@bir) as varchar(2))
if len(@d) = 1
begin
set @d = '0'+@d
end
--取身份證中的出生日期和生日對比。
if substring(@sfzh,7,8) <> cast(year(@bir) as varchar(4)) + @m + @d
begin