SQL 2005 CHECKÔ¼ÊøºÍ¹æÔòÇø±ð
Ò»¡¢Ô¼Êø
Ô¼Êø¶¨Ò幨ÓÚÁÐÖÐÔÊÐíÖµµÄ¹æÔò£¬ÊÇÇ¿ÖÆÍêÕûÐԵıê×¼»úÖÆ¡£
ʹÓÃÔ¼ÊøÓÅÏÈÓÚʹÓô¥·¢Æ÷¡¢¹æÔòºÍĬÈÏÖµ¡£²éѯÓÅ»¯Æ÷ҲʹÓÃÔ¼Êø¶¨ÒåÉú³É¸ßÐÔÄܵIJéѯִÐмƻ®¡£SQL Server 2005Ö§³ÖÎåÀàÔ¼Êø£º
1. NOT NULLÖ¸¶¨²»½ÓÊÜNULLÖµµÄÁС£
2. CHECK Ô¼Êø¶Ô¿ÉÒÔ·ÅÈëÁÐÖеÄÖµ½øÐÐÏÞÖÆ£¬ÒÔÇ¿ÖÆÖ´ÐÐÓòµÄÍêÕûÐÔ¡£CHECKÔ¼Êø¾Ü¾øËùÓÐÔÚ¼ì²âÌõ¼þÖÐȡֵΪfalseµÄÖµ¡£¿ÉÒÔΪÿÁÐÖ¸¶¨¶à¸öCHECKÔ¼Êø¡£ÏÂÀýÏÔʾÃûΪchk_idÔ¼ÊøµÄ´´½¨£¬¸ÃÔ¼ÊøÈ·±£Ö»¶Ô´Ë¹Ø¼ü×ÖÊäÈëÖ¸¶¨·¶Î§ÄÚµÄÊý×Ö£¬ÒÔ½øÒ»²½Ç¿ÖÆÖ´ÐÐÖ÷¼üµÄÓò¡£
CREATE TABLE cust_sample
(
cust_id int PRIMARY KEY,
cust_name char(50),
cust_address char(50),
cust_credit_limit money,
CONSTRAINT chk_id CHECK(cust_id BETWEEN 0 and 10000)
)
3. UNIQUEÔ¼Êø£º¶ÔÓÚ UNIQUE Ô¼ÊøÖеÄÁУ¬±íÖв»ÔÊÐíÓÐÁ½Ðаüº¬ÏàͬµÄ·Ç¿ÕÖµ¡£Ö÷¼üÒ²Ç¿ÖÆÖ´ÐÐΨһÐÔ£¬µ«Ö÷¼ü²»ÔÊÐí¿ÕÖµ¡£UNIQUE Ô¼ÊøÓÅÏÈÓÚΨһË÷Òý¡£
4. PRIMARY KEY Ô¼Êø±êʶÁлòÁм¯£¬ÕâЩÁлòÁм¯µÄֵΨһ±êʶ±íÖеÄÐС£ÔÚÒ»¸ö±íÖУ¬²»ÄÜÓÐÁ½Ðаüº¬ÏàͬµÄÖ÷¼üÖµ¡£²»ÄÜÔÚÖ÷¼üÄÚµÄÈκÎÁÐÖÐÊäÈëNULLÖµ¡£ÔÚÊý¾Ý¿âÖÐNULLÊÇÌØÊâÖµ£¬´ú±í²»Í¬Óڿհ׺Í0ÖµµÄδֵ֪¡£½¨ÒéʹÓÃÒ»¸öСµÄÕûÊýÁÐ×÷ΪÖ÷¼ü¡£Ã¿¸ö±í¶¼Ó¦ÓÐÒ»¸öÖ÷¼ü¡£
Ò»¸ö±íÖпÉÒÔÓÐÒ»¸öÒÔÉϵÄÁÐ×éºÏ£¬ÕâЩ×éºÏÄÜΨһ±êʶ±íÖеÄÐУ¬Ã¿¸ö×éºÏ¾ÍÊÇÒ»¸öºòÑ¡¼ü¡£Êý¾Ý¿â¹ÜÀíÔ±´ÓºòÑ¡¼üÖÐÑ¡ÔñÒ»¸ö×÷ΪÖ÷¼ü¡£ÀýÈ磬ÔÚpart_sample±íÖУ¬part_nmbrºÍpart_name¶¼¿ÉÒÔÊǺòÑ¡¼ü£¬µ«ÊÇÖ»½«part_nmbrÑ¡×÷Ö÷¼ü¡£
CREATE TABLE part_sample
(
 
Ïà¹ØÎĵµ£º
·ÖÀàͳ¼Æ×ÜÊý²¢ÅÅÐò¶à±íÁªºÏ²éѯµÄÁ½ÖÖ·½·¨
Àý:
²éѯµØÇø±íÖи÷Ê¡ÏÂÃæ³ÇÊÐ×ÜÊý,²¢¶Ô²éѯ½á¹ûȡǰʮÃû
·¨Ò»:
select b.id,a.[name],b.counts from n_area a,(select top 10 parent_id as id,sum(parent_id) as counts from n_area where parent_id<>0 group by parent_id order by sum(parent_id) desc
) b where ......
DECLARE @T varchar(255),
@C varchar(255)
DECLARE Table_Cursor CURSOR FOR
Select
a.name,b.name
from sysobjects a,
syscolumns b
where a.id=b.id and
a.xtype='u' and
(b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167)
OPEN Table_Cursor
FETCH NEXT from Table_Cursor INTO @T,@C
WHILE(@@FET ......
SQLÓÅ»¯²éѯ
ÊÕ²Ø
Êý¾Ý¿âµÄ²éѯÓÅ»¯¼¼Êõ
Êý¾Ý¿âϵͳÊǹÜÀíÐÅϢϵͳµÄºËÐÄ£¬»ùÓÚÊý¾Ý¿âµÄÁª»úÊÂÎñ´¦Àí£¨OLTP£©ÒÔ¼°Áª»ú·ÖÎö´¦Àí(OLAP)ÊÇÒøÐС¢ÆóÒµ¡¢Õþ¸®µÈ²¿ÃÅ×îÎªÖØÒªµÄ¼ÆËã»úÓ¦
ÓÃÖ®Ò»¡£´Ó´ó¶à ......
#ÐÂÔöÒ»¸ö×ֶΣ¬Ä¬ÈÏֵΪ0£¬·Ç¿Õ£¬×Ô¶¯Ôö³¤£¬Ö÷¼ü
alter table tabelname add new_field_name field_type default 0 not null auto_increment ,add primary key (new_field_name);
#Ôö¼ÓÒ»¸öÐÂ×Ö¶Î
alter table tableName add new_field_name field_type;
alter table tableNam ......
1. ¸´ÖƱí½á¹¹
Sql´úÂë
1. select * into B from A where 1=0;
select * into B from A where 1=0;
2.¸´ÖƱí¼Ç¼ ¸´ÖÆÄ³Ð©×Ö¶Î
Sql´úÂë
1. insert into B(a, b, c) select d, e, f from A;
insert into B(a, b, c) select d, e, f from A;
¸´Ö ......