`

存储过程:删除外键关联的三张表

阅读更多
[size=medium]
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		Dylan
-- Create date:      2010年
-- Description:	删除外键关联的三张表(从下往上删除)
-- =============================================
CREATE PROCEDURE 表名
@table1_Id int -- 第一张表的ID值
AS  
BEGIN  
    begin tran TranStart  -- 事务开始
    save tran FirstPoint  
	-- 先删除第三张表相关联的信息
	delete from table3 where table2_foreignId in
	(
		select table2_Id from ConfigSecondBranch where table2_foreignId in
		(
			select table1_Id from ConfigFirstBranch where  table1_Id = @table1_Id
		)
	)
	-- 再先删除第二张表相关联的信息
	delete from table2 where table2_foreignId in
	(
		select table1_Id from ConfigFirstBranch where table1_Id = @table1_Id
	)
	-- 最后先删除第一张表相关联的信息
	delete from table1 where table1_Id = @table1_Id
	-- 如果出错
    if @@ERROR <> 0  
    begin   
        rollback tran FirstPoint  -- 回滚
    end  
    commit tran TranStart
END 
[/size]
分享到:
评论

相关推荐

    全国省市区3级 3张表的创建文件,可直接在MSSQL数据库创建生成表。

    - ProvinceID:外键,关联省份表的ProvinceID,表示城市所属的省份。 - CityName:城市名称,字符串类型,用于存储市的全名。 - 创建其他可能需要的字段,如:CityCode(城市代码),创建时间,更新时间等。 3. ...

    关联数据库中多张表

    在IT领域,数据库是存储和管理数据的核心工具,而Access是一种流行的、用户友好的关系型数据库管理系统(RDBMS),由Microsoft开发。在VC++6.0中利用Access数据库进行编程,可以实现对多张表的数据操作,这在处理...

    省市区sql文件一份在一张表里一份在三张表里.rar

    标题 "省市区sql文件一份在一张表里一份在三张表里.rar" 涉及的是数据库设计中的地理信息存储,特别是中国省级、市级和区级行政区域的数据组织。描述中提到“数据不算太新”,意味着这些SQL文件可能包含的是历史或...

    三张表一对多示例

    在IT行业中,数据库设计是至关重要...总的来说,"三张表一对多示例"展示了如何在关系型数据库中设计和管理一对多关系,这对于数据库管理员、后端开发者以及任何处理数据存储和检索的人来说,都是一个基础且重要的概念。

    学生信息管理 选课管理系统 学生成绩管理 3张表

    选课表可能包含`选课记录`,包括字段`学号`(外键,关联学生信息表)、`课程号`(外键,关联课程信息表)、`学期`、`选课状态`(如已选、待确认、退选)等。选课过程中的冲突检测,如时间冲突或超过选课限制,也需要...

    全国省市区数据sql (mysql)三级联动

    接下来,描述中提到的"四张表三张基础数据表和一张关联表"是数据建模的一种常见模式。这四张表可能包括: 1. 省份表(province):存储全国各省份的信息,如省份ID、省份名称等。 2. 市级表(city):包含各个城市...

    全国大学名称数据表(含省份、城市、大学名称,三张表相关联)共2217所,MySQL

    最后,大学表将存储大学的ID、所在城市ID、省份ID和大学名称,通过这些ID与另外两张表建立外键关系,形成一个完整的地理信息和大学名称的关联网络。 在MySQL中,我们可以设计如下的表结构: 1. 省份表(province)...

    人事管理表格 触发器存储过程

    总的来说,这个学校课程设计项目涵盖了数据库设计的核心概念,如存储过程和触发器的使用,以及多表间的关联和数据操作。在实际开发中,理解和掌握这些知识对于构建稳定、高效的人事管理系统至关重要。同时,这也提醒...

    全国省,市,县地区表(一个表和三个表)

    通过外键关联,可以轻松构建起完整的地理层级。 4. **表结构设计**: - **省份表**:可能包含字段如`province_id`(省份ID)、`province_name`(省份名称)。 - **城市表**:包含字段`city_id`(城市ID)、`...

    JSOUP 一张表存储省市区街道四级地址信息,主键用UUID存储, 还有一种是用四张表分别存取 省 市 区 街道四级 可以作为参

    每个表都有自己的主键,然后通过外键关联。例如,城市表的主键可以作为省表的外键,区表的主键作为城市表的外键,以此类推。这样可以避免数据冗余,提高数据的一致性,但查询时可能需要联接多张表,增加了复杂性。 ...

    数据库实验报告4-5.docx

    实验报告“数据库与表的基本操作”主要涵盖了数据库的创建、表的设计、数据约束以及存储过程的应用,这些都是在数据库管理中非常关键的知识点。以下是对这些内容的详细解释: 1. **数据库与表的设计**: - 数据库...

    关系数据库转成一张表

    关系数据库是一种特定类型的数据库,它遵循关系模型,其中数据被组织成表格形式,每个表格称为一个表,表之间可以通过键(如主键和外键)建立关联。当我们面临的情况是,关系数据库中的某些字段分布在不同的表中,这...

    经典数据库模式及查询之学生选课模式

    为了实现这个数据库,我们使用SQL语句创建了这三张表,并填充了示例数据。例如,创建表S、C和SC的语句如下: ```sql CREATE TABLE S ( SNO VARCHAR2(3), SNAME VARCHAR2(10) ); CREATE TABLE C ( CNO VARCHAR2...

    Django ORM多对多查询方法(自定义第三张表&ManyToManyField)

    然而,有时我们需要在多对多关系中存储额外的信息,这时就需要自定义第三张表。 例如,`Boy`和`Girl`之间的爱慕关系可以表示为多对多关系,并通过`Love`模型自定义第三张表: ```python class Boy(models.Model): ...

    我的校内网.pdf

    - **CategoryID**:整型,所属分类ID,外键关联Category表的ID。 ##### 3.4 Log表 - **ID**:整型,自增主键。 - **Name**:字符串类型,长度限制为200字符,表示日志标题。 - **Body**:字符串类型,长度限制为...

    数据库系统实验报告4(简单图书馆管理数据库的实现)汇编.pdf

    触发器和存储过程的创建使借还书操作自动化,有效地关联了图书信息表和借阅信息表。通过执行`sf_borrow`和`sf_return`,观察到数据库中的数据变化,验证了系统的功能完整性。 【知识点总结】 1. 数据库设计:理解...

    新的五张表1

    2. `company_id`: 关联企业ID,外键,用于关联企业信息。 3. `description`: 岗位描述,text类型,详细说明职位需求。 4. `recruitment_id`: 主键,自增整型,唯一标识每个招聘职位。 5. `contact`: 联系人和联系...

    mysql版本的省市区镇乡五级联动数据库

    2. **city表**:代表城市级别,与province表通过外键关联。字段可能包括`id`(城市ID)、`province_id`(所属省份ID,作为外键)、`name`(城市名称)等。每个省份下可能有多个城市,这张表用于记录这些城市的详细...

    基于java、ssm的一款毕业设计管理系统

    其余表大多作为外键关联用于完善四张表的信息。数据库中一共设计了15张表,和学生相关的表有6张(包括学生信息、开题报告、文档成绩、毕设进度、学生疑问等),和教师相关的表有4张(包括教师信息、任务书、阶段任务...

Global site tag (gtag.js) - Google Analytics