❶ sql檢查約束
alter table test
add constraint recommended check(OnUse=0 or OnUse=1)
ALTER TABLE 表名 ADD CONSTRAINT DF_TABLEName_FieldName DEFAULT 1 FOR 欄位名
❷ 在SQL中 創建檢查約束
1、首先右鍵單擊數據表,選擇設計,如下圖所示。
❸ SQL 檢查約束
ALTER TABLE tablename WITH NOCHECK
ADD CONSTRAINT check1 CHECK (DATALENGTH(身份證欄位)=15 or DATALENGTH(身份證欄位)=18 )
ALTER TABLE tablename WITH NOCHECK
ADD CONSTRAINT check2 CHECK (回復時間>發帖時間)
----------------------------------------------------------------------
你的建表語句是怎麼樣的?
----------------------------------------------------------------------
看不出什麼問題來,你把表刪了再建過吧
create table bbstopic
(
TID INT IDENTITY (1,1) NOT NULL,
TsID INT not null,
TuID int not null,
TreplyCount int,
Tface int,
Ttopic varchar (20) not null,
Tcontents varchar (30) not null,
Ttime datetime ,
TclickCount int ,
Tstate int not null,
TlastReply datetime
)
ALTER TABLE bbstopic WITH NOCHECK
ADD CONSTRAINT check1 CHECK (DATALENGTH(身份證欄位)=15 or DATALENGTH(身份證欄位)=18 )
ALTER TABLE bbstopic WITH NOCHECK
ADD CONSTRAINT CK_TlastReply CHECK (TlastReply>Ttime )
注意你身份證欄位的長度最少18位,int不夠長
❹ SQL的檢查約束
用觸發器
CREATE TRIGGER st_table
FOR INSERT,UPDATE
AS
declare @sum float
declare @current_value float
select @sum=sum(col_name) from table
select @current_value =(col_name) from inserted
select @sum=@sum+@current_value
.......
後面自己寫判斷,滿足就INSERT
最好把INSERT,UPDATE 寫成二個觸發器
,否則你用if update(Name)
來判斷
或者
if exist(select * from inserted)
begin
end
if exist(select * from updated)
begin
end
❺ SQL 檢查約束
身份證號應該是15位或者18位,而不是你所說的17位,約束已經給你建好,我已經測試通過,下面是創建代碼:
alter table 表 add constraint ck_sfzid check (sfzid like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][01234567899X]' or sfzid like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
❻ sql的幾個檢查約束
電話號碼的格式必須為xxxx-xxxxxxxx或手機號11位
alter 表名 add constraint ck_欄位名 check (欄位 like '[0-9][0-9][0-9][0-9]_[0-9]......' or len(欄位)=11)
銀行卡前 8位 1010 357 xxxx xxxx 每格4個空一個格
alter 表名 add constraint ck_欄位名 check (欄位 like '1010 357 [0-9][0-9]...' )
身份證號是18位且唯一的
alter 表名 add
constraint ck_欄位名 check (len(欄位名)=18 ),
constraint uk_欄位名 unique(欄位名)
開始開戶密碼默認為6個8
alter 表名 add constraint df_欄位名 default(『888888』)for 欄位名
卡號,外鍵,可重復索引
開戶日期默認為當前日期`
alter 表名 add constraint df_欄位名 default(getdate())for 欄位名
貨幣默認為人民幣
alter 表名 add constraint df_欄位名 default(『RMB』)for 欄位名
余額不能少1元,否則銷戶
alter 表名 add
constraint ck_欄位名 check (欄位名>1)
//給你寫這么多,可一分都沒有???
❼ SQL的檢查約束~!!!
設表為TALBENAME,不能有引號的欄位為FIELDNAME 則:
ALTER TABLE tablename ADD CONSTRAINT CK_fieldname CHECK (not fieldname like '%''%')
❽ SQL中的檢查約束用來干什麼的
數據表上面的檢查約束吧, 是用來控製表裡面數據的完整性的, 比如一個數據表中A欄位取值只能是0, 1, 2, 那麼你就可以建立一個約束, 控制A欄位只能是這三個值, 當有人想寫入一條A=3的記錄時, 資料庫檢查通不過就會提示錯誤. 這樣就避免了錯誤數據進入資料庫
❾ 如何使用檢查約束驗證SQL Server中的數據
約束可以驗證單列的域完整性,也可以驗證多列的域完整性,在單個列上可以有多個檢查約束,如果插入或更新的數據違反了檢查約束,數據 庫引擎將暫時停止INSERT和UPDATE操作。 檢查約束由邏輯表達式構成,邏輯表達式可能是單個表達式,如「Salary<200000.00」,也可能是多個表達式,如「RentalDateGETDATE ()andRentalDate 中的數據,檢查約束是基於列的,因此,即便表中某列的檢查約束沒有通過,也不會影響到表中其它列的INSERT和UPDATE操作,檢查約束可以在列級創建,也可以在表級創建。
❿ SQL檢查約束
select 身份證號 from 表名
where len(身份證號) = 18 and (right(身份證號,17) like '[0-9]'or right(身份證號,17) like 'x')