如果想删除主表的时候同时删除字表数据,可以在建立外键时设置on delete cascade; 但是需要注意的是,这样是比较危险的,尽量在业务中用程序控制删除。
--create table a and b
--主表
Create Table department (dept_id number (4) Not Null Primary Key,
name varchar2 (10), importdate date default sysdate);
--子表
Create Table employee (
emp_id number (4) Not Null Primary Key,
dept_id number (4), Not Null
name varchar2 (10),
importdate date default sysdate
);
Alter Table employee Add Constraint emp_fk Foreign Key (dept_id) References department(dept_id) on delete cascade;
commit;
--删除主表时,级联删除子表
添加数据时,应先添加主表的数据记录
分享到:
相关推荐
自己找了很久,这个是省市地3级,级联的sql语句可以用去MS SQLSever 直接执行生成
省市区三级级联的数据库sql语句,适用于SQLServer,若要别的数据库替换成相应的数据类型即可。 省市级联 省市区三级级联
在Qt中,我们使用QSqlDatabase类来连接SQLite3数据库,QSqlQuery类执行SQL语句,QSqlTableModel类用于数据模型,提供与数据库的交互。下面是一些关键步骤: 1. **数据库连接**:使用QSqlDatabase的addDatabase方法...
SQL语句可能是创建这个表,如: ```sql CREATE TABLE `province_city_area` ( `id` INT PRIMARY KEY AUTO_INCREMENT, `name` VARCHAR(50) NOT NULL, `parent_id` INT DEFAULT NULL ); ``` 2. **数据填充**:...
根据给定文件的信息,本文将围绕“用JDBC实现数据库的级联删除与更新”这一主题进行深入探讨,包括理解需求、设计思路、具体实现步骤以及相关代码示例。 ### 1. 需求理解 #### 1.1 业务场景 在本案例中,存在两个...
### SQL语句大全实例知识点详解 #### 一、表的操作 **1. 创建表** - **语法**: `CREATE TABLE 表名 (字段1 数据类型 [约束], 字段2 数据类型 [约束], ...);` - **示例1**: 对于教学管理数据库中的`STUDENTS`表: ...
本文将详细介绍SQL语句创建表时的一些常用操作。 首先,创建数据库是建立表的前提。以下是一个创建数据库的例子: ```sql USE master; -- 切换到master数据库 GO IF EXISTS (SELECT * FROM sysdatabases WHERE ...
标题提到的"导入省市县三级级联所需要的Sql语句以及json文件"是关于构建一个包含中国省、市、县(区)完整层级的数据结构的资源包。这样的数据结构在许多应用中都是必要的,比如电子商务、物流配送、地图服务等,...
- **CASCADE**:级联删除所有依赖于该字段的对象。 - **应用场景**:不再需要某个字段时使用。 ##### 数据操作 - **插入数据** - `INSERT INTO 表名 (字段列表) VALUES (值列表);` - `INSERT INTO 表名 SELECT ...
SQLite支持SQL语句,使得数据操作和管理变得便捷。本主题聚焦于如何在Android应用中实现城市三级联动,即省份-城市-区县的层级关系,并且结合MySQL数据源进行动态绑定。以下将详细介绍这一过程涉及的知识点。 1. ...
文档描述中提到“可以方便按自己的要求进行修改”,这表明这种类型的SQL语句非常适合于那些需要根据特定需求调整数据结构的应用场景。例如,如果某个省份新增了地级市,只需简单地向现有的SQL语句中添加相应的插入...
### 软件工程中常用数据库操作的SQL语句 在软件工程领域,数据库操作是不可或缺的一部分。SQL(Structured Query Language)作为与数据库交互的主要语言,掌握其基本语法及应用场景对于开发人员而言至关重要。本文...
sql语句大全:有三个表的联合查询,二个表的级联查询,还有删除表中重复的数据,查询表中的数据,对表进行分组使用联合查询的方式进行连接,对表中的数据进行详细的操作,操作数据库中的数据,存储过程,视图及事务的...
- `ALTER TABLE` 用于修改已有表的结构,如例5添加列,例6删除列并级联删除依赖项。 - `DROP TABLE` 用于删除表,如例4所示。 2. **视图操作**: - 视图是一种虚拟表,不存储数据,而是基于查询结果。例如例9...
动态SQL是MyBatis的一个强大特性,它允许我们在SQL语句中进行条件判断,极大地提高了代码的可读性和可维护性。常见的动态SQL标签有: 1. `<if>`:根据给定的条件决定是否包含某段SQL。例如,当某个参数不为空时,才...
- `TRUNCATE`不能用于带有外键约束的表,因为这可能导致级联删除,而`DELETE`可以。 - `TRUNCATE`后的自增列(如ID)会重置为初始值(通常是1),而`DELETE`不会影响自增列的值。 - `TRUNCATE`没有返回值,`...
CASE WHEN 语句用于在 SQL 查询中创建条件 (如果...那么...) 语句。它可以用于计算和返回基于某些条件的结果。在例子中,可以看到CASE WHEN 语句用于处理可能为零的情况,避免除以零的错误: ```sql CASE WHEN sbzs ...