真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

SQLserver外關(guān)聯(lián),數(shù)據(jù)庫表外鍵關(guān)聯(lián)

關(guān)聯(lián)兩個表有幾種方法,比如說是sqlserver數(shù)據(jù)庫的關(guān)聯(lián)方式

關(guān)聯(lián)兩個表的方式包含內(nèi)連接,外連接(左外連接,右外連接),交叉連接。

創(chuàng)新互聯(lián)成立與2013年,我們提供高端網(wǎng)站建設(shè)、微信平臺小程序開發(fā)、電商視覺設(shè)計(jì)、APP應(yīng)用開發(fā)及網(wǎng)絡(luò)營銷搜索優(yōu)化服務(wù),在傳統(tǒng)互聯(lián)網(wǎng)與移動互聯(lián)網(wǎng)發(fā)展的背景下,我們堅(jiān)守著用標(biāo)準(zhǔn)的設(shè)計(jì)方案與技術(shù)開發(fā)實(shí)力作基礎(chǔ),以企業(yè)及品牌的互聯(lián)網(wǎng)商業(yè)目標(biāo)為核心,為客戶打造具商業(yè)價值與用戶體驗(yàn)的互聯(lián)網(wǎng)+產(chǎn)品。

參考語句:

內(nèi)連接

select * from student a

inner join stuMarks b

on a.stuid=b.stuid

外連接

select * from student a

inner join stuMarks b

on a.stuid=b.stuid

交叉連接

select * from student a

crossjoin stuMarks b

sqlserver怎么刪除有外鍵關(guān)聯(lián)的數(shù)據(jù)?

--使用SYSREFERENCES

--刪除外鍵

set xact_abort on

begin tran

DECLARE @SQL VARCHAR(99)

DECLARE CUR_FK CURSOR LOCAL FOR

SELECT 'alter table ['+ OBJECT_NAME(FKEYID) + '] drop constraint ' + OBJECT_NAME(CONSTID) FROM SYSREFERENCES

--刪除所有外鍵

OPEN CUR_FK

FETCH CUR_FK INTO @SQL

WHILE @@FETCH_STATUS =0

BEGIN

EXEC(@SQL)

FETCH CUR_FK INTO @SQL

END

CLOSE CUR_FK

DEALLOCATE CUR_FK

-- 刪除所有表

DECLARE CUR_TAB CURSOR LOCAL FOR

SELECT 'DROP TABLE '+ NAME FROM SYSOBJECTS WHERE XTYPE='U' -- AND NAME LIKE 'xx%'

OPEN CUR_TAB

FETCH CUR_TAB INTO @SQL

WHILE @@FETCH_STATUS =0

BEGIN

EXEC(@SQL)

FETCH CUR_TAB INTO @SQL

END

CLOSE CUR_TAB

DEALLOCATE CUR_TAB

commit tran

--使用sys.foreign_keys

--disable and enable 外鍵

這里解釋下 { CHECK | NOCHECK } CONSTRAINT

Specifies that constraint_name is enabled or disabled. This option can only be used with FOREIGN KEY and CHECK constraints. When NOCHECK is specified, the constraint is disabled and future inserts or updates to the column are not validated against the constraint conditions. DEFAULT, PRIMARY KEY, and UNIQUE constraints cannot be disabled.

上面的解釋是,NOCHECK對應(yīng)于disable, CHECK則對應(yīng)于enable

select

'ALTER TABLE '+o.name+' NOCHECK CONSTRAINT '+fk.name+';' AS Command

from

sys.foreign_keys fk

JOIN sys.all_objects o ON (fk.parent_object_id=o.object_id)

具體會有多少條記錄,取決于你的數(shù)據(jù)庫里面,有多少個外鍵了。

然后復(fù)制結(jié)果, 粘貼出來執(zhí)行. 就停用 外鍵約束了.

再刪除數(shù)據(jù)

數(shù)據(jù)刪除好了, 再啟用外鍵約束

select

'ALTER TABLE ' + o.name + ' CHECK CONSTRAINT ' + fk.name + ';' AS Command

from

sys.foreign_keys fk

JOIN sys.all_objects o ON (fk.parent_object_id = o.object_id)

和前面的一樣, 把查詢出來的結(jié)果, 復(fù)制一下, 然后粘貼出來去執(zhí)行.

--使用sys.foreign_key_columns

--查出外鍵

select name

from sys.foreign_key_columns f join sys.objects o on f.constraint_object_id=o.object_id

where f.parent_object_id=object_id('表名')

--刪除外鍵

alter table 表名 drop constraint 外簡名

sqlserver外鍵關(guān)系有什么用?

SQL的主鍵和外鍵的作用:

外鍵取值規(guī)則:空值或參照的主鍵值。

(1)插入非空值時,如果主鍵表中沒有這個值,則不能插入。

(2)更新時,不能改為主鍵表中沒有的值。

(3)刪除主鍵表記錄時,你可以在建外鍵時選定外鍵記錄一起級聯(lián)刪除還是拒絕刪除。

(4)更新主鍵記錄時,同樣有級聯(lián)更新和拒絕執(zhí)行的選擇。

簡而言之,SQL的主鍵和外鍵就是起約束作用。

主鍵是能確定一條記錄的唯一標(biāo)識,比如,一條記錄包括身份正號,姓名,年齡。身份證號是唯一能確定你這個人的,其他都可能有重復(fù),所以,身份證號是主鍵。

外鍵用于與另一張表的關(guān)聯(lián)。是能確定另一張表記錄的字段,用于保持?jǐn)?shù)據(jù)的一致性。比如,A表中的一個字段,是B表的主鍵,那他就可以是A表的外鍵。


文章名稱:SQLserver外關(guān)聯(lián),數(shù)據(jù)庫表外鍵關(guān)聯(lián)
地址分享:http://weahome.cn/article/dscpgph.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部