SQL Server 如何添加删除外键、主键,以及更新自增属性
发布网友
发布时间:2024-09-17 09:15
我来回答
共1个回答
热心网友
时间:2024-09-29 23:51
1.添加删除主键和外键
例如:
-----删除主键约束
DECLARE @NAME SYSNAME
DECLARE @TB_NAME SYSNAME
SET @TB_NAME = ‘Date‘
SELECT TOP 1 @NAME=NAME FROM SYS.OBJECTS WITH(NOLOCK)
WHERE TYPE_DESC =‘PRIMARY_KEY_CONSTRAINT‘ AND PARENT_OBJECT_ID = (
SELECT OBJECT_ID
FROM SYS.OBJECTS WITH(NOLOCK)
WHERE NAME = @TB_NAME )
SELECT @NAME as PK
DECLARE @ALTERSQL NVARCHAR(MAX)
SET @ALTERSQL=N‘ALTER TABLE ‘+@TB_NAME+‘
DROP CONSTRAINT ‘+@NAME+‘‘
EXEC SP_EXECUTESQL @ALTERSQL
----添加主键约束
alter table Date add constraint PK_Date primary key(ID)
----设置外键约束的SQL语句:
alter table student add constraint FK_student_classes foreign key(cla_id) references classes(ID)
----删除外键约束
alter table student drop constraint FK_student_classes
2.自增属性的更新
------如果仅仅是指定值插入,可用以下语句,临时取消
SET IDENTITY_INSERT classes ON
INSERT INTO classes (ID,Name) VALUES(7,‘测试1‘)
SET IDENTITY_INSERT [classes] OFF
-----新增一列,删除自增列,修改列名
alter table classes add ID_Temp int
update a set ID_Temp=ID
alter table classes drop column ID
exec sp_rename ‘ID_Temp‘, ‘ID‘, ‘column‘
--------通过修改系统关于该表的列属性,该方法使用不当将可能引起其它不可预料的错误(未操作成功)
sp_configure ‘allow update‘,1
reconfigure with override
go
update syscolumns set colstat=0 where colstat=1 and id=object_id(‘tablename‘)
go
sp_configure ‘allow update‘,0
reconfigure with override
SQL Server 如何添加删除外键、主键,以及更新自增属性
热心网友
时间:2024-09-29 23:50
1.添加删除主键和外键
例如:
-----删除主键约束
DECLARE @NAME SYSNAME
DECLARE @TB_NAME SYSNAME
SET @TB_NAME = ‘Date‘
SELECT TOP 1 @NAME=NAME FROM SYS.OBJECTS WITH(NOLOCK)
WHERE TYPE_DESC =‘PRIMARY_KEY_CONSTRAINT‘ AND PARENT_OBJECT_ID = (
SELECT OBJECT_ID
FROM SYS.OBJECTS WITH(NOLOCK)
WHERE NAME = @TB_NAME )
SELECT @NAME as PK
DECLARE @ALTERSQL NVARCHAR(MAX)
SET @ALTERSQL=N‘ALTER TABLE ‘+@TB_NAME+‘
DROP CONSTRAINT ‘+@NAME+‘‘
EXEC SP_EXECUTESQL @ALTERSQL
----添加主键约束
alter table Date add constraint PK_Date primary key(ID)
----设置外键约束的SQL语句:
alter table student add constraint FK_student_classes foreign key(cla_id) references classes(ID)
----删除外键约束
alter table student drop constraint FK_student_classes
2.自增属性的更新
------如果仅仅是指定值插入,可用以下语句,临时取消
SET IDENTITY_INSERT classes ON
INSERT INTO classes (ID,Name) VALUES(7,‘测试1‘)
SET IDENTITY_INSERT [classes] OFF
-----新增一列,删除自增列,修改列名
alter table classes add ID_Temp int
update a set ID_Temp=ID
alter table classes drop column ID
exec sp_rename ‘ID_Temp‘, ‘ID‘, ‘column‘
--------通过修改系统关于该表的列属性,该方法使用不当将可能引起其它不可预料的错误(未操作成功)
sp_configure ‘allow update‘,1
reconfigure with override
go
update syscolumns set colstat=0 where colstat=1 and id=object_id(‘tablename‘)
go
sp_configure ‘allow update‘,0
reconfigure with override
SQL Server 如何添加删除外键、主键,以及更新自增属性
SQL Server 如何添加删除外键、主键,以及更新自增属性
---添加主键约束 alter table Date add constraint PK_Date primary key(ID)---设置外键约束的SQL语句:alter table student add constraint FK_student_classes foreign key(cla_id) references classes(ID)---删除外键约束 alter table student drop constraint FK_student_classes 2.自增属性的更新 ...
sqlserver 界面 设置 主键 外键
打开sqlserver数据库软件,右键你要键主键与外键的表(你需要关联其它表的主表)点击设计 在打开的界面右键点击关系 点击添加,里面已经有两个关系了,与该表所有相关的关系(主键与外键)都在里面 选中一个关系点击‘表和列规范’,点击后就出来省略号(不点击是看不到的相当隐藏),点击省略号 当前表...
sql server怎样删除外键约束?
1.首先,我们使用SQLSERVER2008打开需要删除外键约束的表,点击左侧的“dbo”通道项,选择“setclick”。2.问题后,我们鼠标左键单击页面上的“删除主键”选项。3.然后左键点击“是”在弹出页面中删除。注意事项:可以双击键约束来添加外键约束,它有四个不同的选项:CASCADE、SETNULL、NOACTION、restric...
SQL Server中如何给两个表建立主外键约束
首先建立两张表:主表-MainTable和外键表-ForeignTable,主表的主键为ID,外键表中的字段TestID为外键,参照主表的ID。在外键表ForeignTable的设计视图中选中字段”TestID”,右键选择”关系”选项。在打开的外键关系窗体中点击“添加”按钮添加一个主外键约束关系FK_ForeignTable_ForeignTable。在外键关系...
sqlserver怎样删除外键约束?
当需要从SQLServer中移除外键约束时,可以采取以下步骤。首先,通过查询获取外键约束的名称。使用如下SQL语句:sql1.执行以下命令以列出表中的外键约束信息:SELECTnameFROMsys.foreign_key_columnsfJOINsys.objectsoONf.constraint_object_id=o.object_idWHEREf.parent_object_id=OBJECT_ID('表名')接着,...
怎样在SQL SERVER设置双主键或多个主键
首先一个表是不能有两个主键的。但是可以有两个字段组合成一个主键,这就是为什么有时候表里为什么会有两个字段都有主键的标志,那是因为他们组合成了一个主键了。我们可以先删除了原来的主键再用类似下面SQL语句建立:alter table 你的表名 add constraint pk_name primary key (字段1,字段2);或者...
sqlserver 如何用sql修改外键
这是的主键和外键为:修改的sql语句:--修改主键的名称PK_myTest为PK_myTest22 alter table myTest drop constraint PK_myTest alter table myTest add constraint PK_myTest22 primary key(aa)--修改外键的名称fk_myTest为fk_myTest22 alter table myTest drop constraint fk_myTest alter table...
sqlserver数据库修改主键类型
tri_update_tb_1_pk on tb_1 for update as if not update(col_pk)return update tb_2 set col_pk=i.col_pk from tb_2,inserted i,deleted d where tb_2.col_pk=d.col_pk and i.Col_Uq=d.Col_Uq go 如果保证每次只更新一行,那可以如下写触发器:create trigger tri_update_tb_1_...
Sql server怎样创建主外键关系
1.为了帮助你理解,用一个例子来帮助你理解。它基本上是指通过引用表2中的字段来约束表1中的字段。2.有两个表,第一个表创建外键表,因为第一个外键,主键可以被引用。首先创建数据库,然后创建一个新的查询。3.创建一个新的外键表[teacher],然后输入命令:Createtableteacher。添加teacher_xingming的...
同sql语句把主键修改为自增
只能等其他高手来了哈 那比较麻烦了,在修改表中操作就不行了,建议你这么做,先将你的关联的所有的表进行数据备份,这个可以用select into 来做,然后将这些表删除,重新创建带有自增列的表,再把数据转回来,就可以了。也可以先将外键删除,直接针对这个表这么操作。再还原外键也行!