12.创建关系时的级联操作

--- 创建关系时的级联操作
alter table student
with nocheck --不检查现有数据
add constraint FK_Grade_Student_GradeId foreign key(gradeid) references grade(gradeid)
on delete set null

--[ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ]
--on--在做何种操作的时候做相应的处理
--NO ACTION--不做任何操作:该报错就报错,可以删除就删除
--CASCADE:级联:删除主表,对应的从表数据也会删除,更新也一样
--SET NULL:如果删除主表的记录,那么对应的从表记录的字段值会被设置为null,前提是从表的这个字段的值可以是null
--SET DEFAULT :删除主表记录,从表的记录的对应字段值设置为默认值,前提是你之前为这个字段设置了默认值
时间: 2024-10-11 16:03:57

12.创建关系时的级联操作的相关文章

关于创建数据库时的一些操作

1.创建数据库时,选项中的恢复模式 完整:允许发生错误时恢复数据库.在发生错误时,可以及时的使用事务日志恢复数据库. 大容量日志:当执行操作的数据量比较大时,只记录该操作事件,并不记录插入的细节.例如,向数据库中插入上万条记录数据,此时只记录了该插入操作,而对于每一个插入的内容并不记录.这种操作可以在执行某些操作时提高系统性能,但是当服务器出现问题的时候,只能恢复到最后一次备份的日志中的内容. 简单:每次备份数据库的时候清除事务日志,该选项表示根据最后一次对数据库的备份进行恢复. 2.常用系统存

存储过程一个简单编写样式与为什么创建存储过程时不执行操作的原因

今天我接收到一个任务就是创建一个数据脚本再原来8万条数据的基础上插入剩下的数据,总共数据为2千万条.之前是创建一个文本文件,进行上传导入数据的,但这个导入数据的时是要有6个月的时间跨度,那么上传一天一个文本,那就要创建180个文本文件,那是得不偿失的.因此想到了数据脚本写存储过程. 这是我简单插入数据,并根据一定的数量进行时间累加的存储过程脚本: USE [eRAS]GO /****** Object:  StoredProcedure [dbo].[AddSrcCCAUTH]    Scrip

hibernate中关系操作(inverse)和级联操作(cascade)详解

以用户.角色.用户文件为例讲解inverse(关系操作)和(cascade)操作 inverse 取值 true(不维护关系)或false(维护关系  默认为false) 该属性主要操作的是外键 cascade 取值null(默认值).save-update .all .delete 用户.角色是多对多的关系 用户的映射文件表示: <hibernate-mapping> <class name="com.xing.elec.domain.ElecUser" table

验证当多个类之间有继承关系时,创建子类对象会导致父类初始化块的执行。

结果:当多个类之间有继承关系时,创建子类对象会导致父类初始化块的执行.

【SSH三大框架】Hibernate基础第九篇:cascade关联关系的级联操作

这里要说的是Hibernate的关联关系的级联操作,使用cascade属性控制. 依旧用部门和员工举例.多个员工相应一个部门(多对一关联关系) 员工类:Employee.java package cn.itcast.hibernate.domain; public class Employee { private int id; private String name; private Department depart; public int getId() { return id; } pu

Hibernate级联操作解密(inverse和cascade)

总结: Cascade:对级联操作进行限制,有如下几个参数: all : 所有情况下均进行关联操作.  none:所有情况下均不进行关联操作.这是默认值.  save-update:在执行save/update/saveOrUpdate时进行关联操作.  delete:在执行delete时进行关联操作. Inverse:在一对多模型中,只能在一的一方设置,inverse的作用就是在级联发生后,会再次更新子表数据的外键为主表的主键.确保子表外键不会为空. 下面演示一个班级学生的例子(一对多): 班

使用IntelliJ IDEA 12创建Maven多模块项目

使用Maven管理项目时,往往需要创建多个模块,模块之间存在相互引用的关系.对于Maven的依赖,也需要专门创建一个模块来管理依赖项.例如对于一个项目,可以创建一个config模块来管理Maven依赖项,创建一个common模块来管理POJO类,创建一个server来管理业务逻辑及数据库操作类,创建一个web模块来组织Web文件,如HTML,JSP等.下图是一个Maven多模块管理的案例项目结构: 简单说一下创建过程: 1.首先创建一个空项目:Demo,New Project对话框左侧选择Mav

hibernate的中的查询与级联操作

1.Criteria查询接口适用于组合多个限制条件来搜索一个查询集. 要使用Criteria,需要遵循以下步骤: *创建查询接口: Criteria criteria=session.createCriteria(User.class); *设置查询条件: criteria.add(Restrictions.gt("age",10); *查询数据:      List<User> list=criteria.list(); 2.关系映射:一个用户(cust_customer

数据库表的创建、管理和数据操作(实验一),数据库创建

数据库表的创建.管理和数据操作(实验一),数据库创建 今天我们就以实验的形式对表的创建.管理和数据操作进行学习,上课吧. [实验目的]:了解SQL语言的使用,进一步理解关系运算,巩固数据库的基础知识.[实验要求]:利用SQL语言进行数据库表的各种操作:1.数据库表的创建.修改和删除操作.2.向表中进行数据的插入.删除和修改操作.[实验内容]1. 利用数据定义语句在实验一创建的stu_DB库中建立学生管理系统的三个表:Student.Course.SC.2.利用INSERT.UPDATE和DELE