SQL¼¶Áª¸üкͼ¶ÁªÉ¾³ý
alter table ±íÃû
add constraint Ô¼ÊøÃû
foreign key(×Ö¶ÎÃû) references Ö÷±íÃû(×Ö¶ÎÃû)
on delete cascade
Óï·¨£º
Foreign Key
(column[,...n])
references referenced_table_name[(ref_column[,...n])]
[on delete cascade]
[on update cascade]
×¢ÊÍ£º
column:ÁÐÃû
referenced_table_name:Íâ¼ü²Î¿¼µÄÖ÷¼ü±íÃû³Æ
ref_name:Íâ¼üÒª²Î¿¼µÄ±íµÄÖ÷¼üÁÐ
on delete:ɾ³ý¼¶Áª
on update:¸üм¶Áª
±íµÄÍâ¼üÔ¼Êø
SELECT Íâ¼ü±íID=b.fkeyid
,Íâ¼ü±íÃû³Æ=object_name(b.fkeyid)
,Íâ¼üÁÐID=b.fkey
,Íâ¼üÁÐÃû=(SELECT name from syscolumns WHERE colid=b.fkey AND id=b.fkeyid)
,Ö÷¼ü±íID=b.rkeyid
,Ö÷¼ü±íÃû=object_name(b.rkeyid)
,Ö÷¼üÁÐID=b.rkey
,Ö÷¼üÁÐÃû=(SELECT name from syscolumns WHERE colid=b.rkey AND id=b.rkeyid)
from sysobjects a
join sysforeignkeys b on a.id=b.constid
join sysobjects c on a.parent_obj=c.id
where a.xtype='f' AND c.xtype='U'
²éѯһ¸ö±íµÄËùÓÐÍâ¼ü:
SELECT Ö÷¼üÁÐID=b.rkey
,Ö÷¼üÁÐÃû=(SELECT name from syscolumns WHERE colid=b.rkey AND id=b.rkeyid)
,Íâ¼ü±íID=b.fkeyid
,Íâ¼ü±íÃû³Æ=object_name(b.fkeyid)
,Íâ¼üÁÐID=b.fkey
,Íâ¼üÁÐÃû=(SELECT name from syscolumns WHERE colid=b.fkey AND id=b.fkeyid)
from sysobjects a
join sysforeignkeys b on a.id=b.constid
join sysobjects c on a.parent_obj=c.id
where a.xtype='f' AND c.xtype='U'
and object_name(b.rkeyid)='Òª²éѯµÄ±íÃû'
Ïà¹ØÎĵµ£º
SQL SERVER Êý¾Ý¿âÁ´½Ó·þÎñÆ÷×ܽá
ǰ¶Îʱ¼ä£¬¹«Ë¾µÄÏîÄ¿¿ª·¢Óõ½C/S¡¢B/SÁ½Öּܹ¹¡£CS²¿·ÖÒòΪÊý¾ÝµÄ±£ÃÜÐԺͰ²È«ÐÔ£¬²ÉÓÃSQL SERVER 2000£¨ºóÀ´Ëæ×ÅÈí¼þ°æ±¾Éý¼¶£¬²ÉÓÃSQL Server 2005£©¾ÖÓòÍøÂç¡£B/S²¿·Ö²ÉÓÃOracle9.2Êý¾Ý¿â¡£Á½¸ö²¿·ÖÎïÀí¸ôÀ룬¶¨Ê±Í¨¹ýÍøÂçÇл»Æ÷½øÐÐÍøÂçÇл»ÒÔÍê³ÉÊý¾Ý½»»»¡£
......
Ê×Òª²½Öè(Ò»°ã¿ÉÊ¡ÂÔ):
¿ªÆômysql·þÎñ(ĬÈÏÊÇ¿ª»úʱ¾Í×Ô¶¯ÔËÐÐÁË):
¿ØÖÆÃæ°å
-->¹ÜÀí¹¤¾ß-->·þÎñ,ÔÚÀïÃæÕÒµ½Ãû³ÆÎªmysqlµÄÏî,Ë«»÷¾Í¿É¿´ËüµÄ·þÎñ״̬ÊÇÆô¶¯»¹ÊÇÍ£Ö¹,°ÑËüÉèΪÆô¶¯
Á¬½Ómysql:
ÔÚÃüÁîÐÐÏÂÊäÈë mysql -h
localhost -u root -p»Ø³µ,È»ºóÊäÈëÃÜÂë¼´¿É;»òÖ±½ÓÔËÐÐmysql×Ô´øµÄÁ¬½Ó¹¤¾ß,È»ºóÊäÈëÃÜÂë¼ ......
ÔÚ SQL Server Management Studio ÖУ¬Á¬½Óµ½Êý¾Ý¿âÒýÇæ·þÎñÆ÷ÀàÐÍ£¬Õ¹¿ªÊý¾Ý¿â£¬ÓÒ¼üµ¥»÷Ò»¸öÊý¾Ý¿â£¬Ö¸Ïò“ÈÎÎñ”£¬ÔÙµ¥»÷“µ¼ÈëÊý¾Ý”»ò“µ¼³öÊý¾Ý”¡£
»òÕß
¿ªÊ¼²¢Ñ¡ÔñÔËÐв¢ÊäÈëCMD È»ºóÔÚÃüÁîÌáʾ·ûÀïÊäÈëDTSWIZARD¡£
»ò
ÔÚÃüÁîÌáʾ·û´°¿ÚÖÐÔËÐÐ DTSWizard.exe£¨Î»ÓÚ C:\Program ......
ÔõÑùͳ¼ÆPLSQLÓïÑÔÖÐɾ³ýÓï¾äÖ´ÐÐÖ®ºóÒ»¹²É¾³ýÁ˶àÉÙÌõ¼Í¼¡£
OracleʹÓÃÁ½ÖÖ¹â±ê£ºÏÔʽ¹â±êºÍÒþʽ¹â±ê¡£²»¹ÜÓï¾ä·µ»Ø¶àÉÙÌõ¼Í¼£¬PL/SQLΪʹÓõÄÿһÌõUPDATE¡¢DELETEºÍINSERTµÈSQLÃüÁîÒþʽµÄÉùÃ÷Ò»¸ö¹â±ê¡££¨Òª¹ÜÀíSQLÓï¾äµÄ´¦Àí£¬±ØÐëÒþʽµÄ¸øËü¶¨ÒåÒ»¸ö¹â±ê¡££©
ÔÚPL/SQLÖУ¬µ±Ö´ÐÐDMLÓï¾äµÄʱºò£¬»á×Ô¶¯´ò¿ªÒ»¸öÒþʽ ......
TABLE MASTER ×Ö¶Î ID DETAIL.....
TABLE BIZ ×Ö¶Î SYS_ID CODE_ID .......
²éѯʱÐèÒªµÄÊÇIDµÄÃèÊö
1,SELECT A.SYS_ID,A.CODE_ID,B.DETAIL,C.DETAIL...... from BIZ A,MASTER B,MASTER C WHERE A.SYS_ID=B.ID AND A.CODE_ID=C.ID
2,SELECT SYS_ID,(SELECT DETAIL from MASTER ......