当前位置:  数据库>sqlserver

sql级联删除的方法介绍

    来源: 互联网  发布时间:2014-08-29

    本文导语:  要求:删除主表时,自动删除副表(外键约束)中的内容。 删除包含主键值的行的操作,该值由其它表的现有行中的外键列引用。 在级联删除中,还删除其外键值引用删除的主键值的所有行。 例如,如下的sql语句。 create databas...

要求:删除主表时,自动删除副表(外键约束)中的内容。

删除包含主键值的行的操作,该值由其它表的现有行中的外键列引用。
在级联删除中,还删除其外键值引用删除的主键值的所有行。

例如,如下的sql语句。

create database temp
go
use temp
go

create table UserInfo
(
UserId int identity(1,1) primary key ,
UserName varchar(20),  --用户名
password varchar(20) not null --密码
)

create table UserDetails
(
id int identity(1,1) primary key,
name varchar(50) not null, --真实姓名
userId int,
foreign key (userId) references UserInfo(UserId) on delete cascade
)

insert UserInfo values ('ly','jeff')
insert UserInfo values('wzq','wzqwzq')
insert UserInfo values('lg','lglg')
 
insert UserDetails values('李四',1)
insert UserDetails values('王五',2)
insert UserDetails values('刘六',3)

备注:
1)、sqlserver 支持级联更新和删除
2)、oracle 只支持级联删除

alter table 表名
add constraint 外键名
foreign key(字段名) references 主表名(字段名)
on delete cascade

语法:
Foreign Key
(column[,...n])
references referenced_table_name[(ref_column[,...n])]
[on delete cascade]
[on update cascade]
注释:
column:列名
referenced_table_name:外键参考的主键表名称
ref_name:外键要参考的表的主键列
on delete:删除级联
on update:更新级联
0
0

此时,Delete From UserInfo Where UserId = 1 可以删除UserInfo表和UserDetails表的UserId=1 的内容。


    
 
 

您可能感兴趣的文章:

  • sql server 删除表1某些数据的同时自动删除表2的相关数据的sql代码
  • 安装SQL2008时提示删除SQL2005Express工具的解决方法
  • sql server 2005删除用户时“数据库主体在该数据库中拥有架构,无法删除”错误的解决办法
  • SQLServer用t-sql命令批量删除数据库中指定表(游标循环删除)
  • sql语言中delete删除命令语句详解
  • 重装MS SQL Server 2000前必须彻底删除原安装文件的方法
  • Sql Server 2000删除数据库备份文件
  • sql 存储过程批量删除数据的语句
  • Sql Server 删除主键与重建主键的例子
  • jsp+SQL删除记录出错,请指教!
  • SQL Server 不删除信息重新恢复自动编号列的序号的方法
  • oracle数据库添加或删除一列的sql语句
  • sql server临时表删除方法
  • sql2005 数据表存在与否及删除的判断语句
  • sql server 临时表的删除示例
  • MySQL中批量删除指定前缀表的sql语句
  • sql server 2005维护计划无法删除怎么办呢?
  • sql 插入单引号、添加、删除字段的例子
  • 使用SQL Server判断文件是否存在后再删除(详解)
  • SQL 级联删除 级联更新的代码
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • C#使用带like的sql语句时防sql注入的方法
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • sql无效字符引起的执行sql语句报错的解决方法
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • SQL Server降权运行 SQL Server 2000以GUESTS权限运行设置方法
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • (X86/X64)安装sql server 2005 过程中提示“无法启动sql server的 启动”的解决方法
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • sql数据库多用户模式修改方法
  • java命名空间java.sql接口databasemetadata的类成员方法: getsqlkeywords定义及介绍
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.sql.rowset.spi类syncprovider的类成员方法: getrowsetwriter定义及介绍
  • SQL语句执行顺序图文介绍
  • java命名空间java.sql接口sqlinput的类成员方法: readblob定义及介绍
  • Oracle中SQL语句连接字符串的符号使用介绍
  • java命名空间java.sql接口sqlinput的类成员方法: readarray定义及介绍
  • SQL的SUBSTR()函数使用介绍
  • java命名空间java.sql接口sqlinput的类成员方法: readsqlxml定义及介绍
  • SQL Server 2000 JDBC驱动程序介绍,很值得一看!!!
  • java命名空间java.sql接口sqlinput的类成员方法: readrowid定义及介绍
  • Oracle中PL/SQL中if语句的写法介绍
  • java命名空间java.sql接口sqlinput的类成员方法: readnclob定义及介绍
  • 减小SQL Server的Log文件尺寸的方法介绍
  • java命名空间java.sql接口sqlinput的类成员方法: readclob定义及介绍
  • sql语句之数据操作介绍
  • java命名空间java.sql接口preparedstatement的类成员方法: settime定义及介绍
  • sql server中分页的两种方法介绍
  • java命名空间java.sql接口preparedstatement的类成员方法: settimestamp定义及介绍
  • 以数据库字段分组显示数据的sql语句(详细介绍)
  • java命名空间java.sql接口sqldata的类成员方法: writesql定义及介绍
  • SQL Server的基本功能性语句介绍
  • java命名空间java.sql类types的类成员方法: null定义及介绍
  • Sql学习第三天——SQL 关于with ties介绍
  • java命名空间java.sql接口resultset的类成员方法: getbyte定义及介绍
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • java命名空间java.sql接口resultset的类成员方法: getfloat定义及介绍
  • SQL查询分析工具 SQL Workbench/J
  • java命名空间java.sql接口resultset的类成员方法: getdouble定义及介绍
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • java命名空间java.sql接口resultset的类成员方法: getshort定义及介绍
  • SQL Server统计SQL语句执行时间的脚本
  • java命名空间java.sql类types的类成员方法: numeric定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3