让SQL Server为你改变外键问题(sqlserver改外键)

正式的数据库开发又要开始了,尤其是开发使用Microsoft SQL Server的应用,在处理外键一般会在我们面前蹦出一道小难题:什么时候能用,什么时候不能用。虽然背后的概念简单,但是应用到具体代码中,让我们可能会陷入抵触。

SQL Server能提供一种方法,可以让它帮你解决有关外键问题。下面就介绍使用SQL Server处理外键的详细方法:

首先,为了更好地管理我们的外键约束,我们在首先运行以下代码:

use master 
go
sp_dboption 'database_name','allow updated','FALSE'

其次,在创建或者修改表的时候,可以添加外键约束,比如建立一张学生信息表,用以下语句可以加入外键约束:

ALTER TABLE `Students`
ADD CONSTRAINT `foreign key` FOREIGN KEY (`class_id`) REFERENCES `Classes` (`class_id`);

最后,可以使用更新语句来满足更多复杂的外键:

UPDATE TABLE `Students` 
SET `class_id` = (SELECT class_number FROM `Classes` WHERE `Classes`.`class_name` = `Students`.`class_name`)
WHERE *

上面的示例可以根据班级名称来自动设置班级号。另外,也可以使用`ON UPDATE` 和 `ON DELETE`参数设置更多外键的选项。

以上,就是让SQL Server为你改变外键的方法,当然,这还只是SQL Server处理外键的一部分,在进行数据库开发的时候,可以根据具体的情况进行更细致的处理。

另外,有时候,我们也可以不使用外键,而是使用类似函数和视图的手段让服务器自动进行转义,这可以更加安全而有效的解决我们的问题。


数据运维技术 » 让SQL Server为你改变外键问题(sqlserver改外键)