加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQLServer 有物理主外键关系的表在主表改变主键索引时的测试

发布时间:2020-12-12 12:58:03 所属栏目:MsSql教程 来源:网络整理
导读:--先试删除外键,避免后面如删除主表异常IF OBJECT_ID('FK_MainId') IS NOT NULLBEGINalter table Sub_Table drop constraint FK_MainIdEND--删除主表再建IF OBJECT_ID('Main_Table') IS NOT NULLBEGINDROP TABLE Main_TableENDGOCREATE TABLE Main_Table(Ma
--先试删除外键,避免后面如删除主表异常
IF OBJECT_ID('FK_MainId') IS NOT NULL
BEGIN
	alter table Sub_Table drop constraint FK_MainId
END
--删除主表再建
IF OBJECT_ID('Main_Table') IS NOT NULL
BEGIN
	DROP TABLE Main_Table
END
GO
CREATE TABLE Main_Table(
	MainId INT,MainName NVARCHAR(10),CONSTRAINT PK_Main_Table PRIMARY KEY(
		MainId ASC	
	)	
)
GO
--删除子表再建
IF OBJECT_ID('Sub_Table') IS NOT NULL
BEGIN
	DROP TABLE Sub_Table
END
GO
CREATE TABLE Sub_Table(
	SubId INT,MainId INT,CONSTRAINT PK_Sub_Table PRIMARY KEY(
		SubId ASC	
	),CONSTRAINT FK_MainId FOREIGN KEY (MainId) REFERENCES Main_Table( MainId )
)
GO
--插入主表数据
INSERT INTO Main_Table (MainId,MainName) VALUES(1,'小明')
INSERT INTO Main_Table (MainId,MainName) VALUES(2,'小华')
--插入子表数据
INSERT INTO Sub_Table (SubId,MainId,MainName) VALUES(10,1,'吃饭')
INSERT INTO Sub_Table (SubId,MainName) VALUES(11,'睡觉')
INSERT INTO Sub_Table (SubId,MainName) VALUES(12,'洗衣服')
INSERT INTO Sub_Table (SubId,MainName) VALUES(20,2,'吃好饭')
INSERT INTO Sub_Table (SubId,MainName) VALUES(21,'睡好觉')
INSERT INTO Sub_Table (SubId,MainName) VALUES(22,'洗好衣服')

--输入数据
SELECT * FROM Main_Table mt
SELECT * FROM Sub_Table st

--修改主表主键索引
EXEC sp_rename 'PK_Main_Table','PK_Main_Table2'

--修改列名类型测试
ALTER TABLE Main_Table ALTER COLUMN MainId BIGINT 


(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读