IF OBJECT_ID('TB')IS NOT NULL DROP TABLE TB GO CREATE TABLE TB(TEST VARCHAR(10) CHECK ((ASCII(LEFT(TEST,1))BETWEEN 65 AND 90)AND ASCII(SUBSTRING(TEST,2,1))BETWEEN 65 AND 90 )) INSERT TB SELECT 'AB' INSERT TB SELECT 'Ab' /*(1 行受影响) 消息 547,级别 16,状态 0,第 4 行 INSERT 语句与 CHECK 约束"CK__TB__TEST__39788055"冲突。该冲突发生于数据库"db_test",表"dbo.TB", column 'TEST'。 语句已终止。 */
ALTER TABLE emp ADD CONSTRAINT CHK_1 CHECK(LEN(empname)=8 AND LEFT(empname COLLATE CHINESE_PRC_CS_AS_KS_WS,2)=UPPER(LEFT(empname COLLATE CHINESE_PRC_CS_AS_KS_WS,2))) GO
楼上的CHINESE_PRC_CS_AS_KS_WS这个是什么意思啊,不能执行啊求测试通过的sql
-- Test Data: ta IF OBJECT_ID('ta') IS NOT NULL DROP TABLE ta Go CREATE TABLE ta(ID INT,总量 INT,mc varchar(8) check( left(mc,2) like '[A-Z][A-Z]')) GoGO--Startinsert into ta select 1,1,'ASasdfaf'SELECT * FROM TA
--石头啊,这个不行啊 --Start insert into ta select 1,1,'asasdfaf' SELECT * FROM TA /*ID 总量 mc ----------- ----------- -------- 1 1 asasdfaf(1 行受影响) */
IF OBJECT_ID('TB')IS NOT NULL DROP TABLE TB GO CREATE TABLE TB(TEST VARCHAR(10) CHECK ((ASCII(LEFT(TEST,1))BETWEEN 65 AND 90)AND ASCII(SUBSTRING(TEST,2,1))BETWEEN 65 AND 90 )) --INSERT TB SELECT 'AB' INSERT TB SELECT 'Ab'select * from tbdrop table tb你试下
GO
CREATE TABLE TB(TEST VARCHAR(10) CHECK ((ASCII(LEFT(TEST,1))BETWEEN 65 AND 90)AND
ASCII(SUBSTRING(TEST,2,1))BETWEEN 65 AND 90 ))
INSERT TB SELECT 'AB'
INSERT TB SELECT 'Ab'
/*(1 行受影响)
消息 547,级别 16,状态 0,第 4 行
INSERT 语句与 CHECK 约束"CK__TB__TEST__39788055"冲突。该冲突发生于数据库"db_test",表"dbo.TB", column 'TEST'。
语句已终止。
*/
ADD CONSTRAINT CHK_1 CHECK(LEN(empname)=8
AND LEFT(empname COLLATE CHINESE_PRC_CS_AS_KS_WS,2)=UPPER(LEFT(empname COLLATE CHINESE_PRC_CS_AS_KS_WS,2)))
GO
IF OBJECT_ID('ta') IS NOT NULL
DROP TABLE ta
Go
CREATE TABLE ta(ID INT,总量 INT,mc varchar(8) check( left(mc,2) like '[A-Z][A-Z]'))
GoGO--Startinsert into ta select 1,1,'ASasdfaf'SELECT
*
FROM
TA
--Start
insert into ta select 1,1,'asasdfaf'
SELECT
*
FROM
TA
/*ID 总量 mc
----------- ----------- --------
1 1 asasdfaf(1 行受影响)
*/
GO
CREATE TABLE TB(TEST VARCHAR(10) CHECK ((ASCII(LEFT(TEST,1))BETWEEN 65 AND 90)AND
ASCII(SUBSTRING(TEST,2,1))BETWEEN 65 AND 90 ))
--INSERT TB SELECT 'AB'
INSERT TB SELECT 'Ab'select * from tbdrop table tb你试下