sql语句从主表删除一条数据,并且把先关联的多个子表数据也删除
t4,t5,主表和所有子表相关联的字段是id,现在要求是从主表t1根据一个id删除一条数据,然后其他子表也要删除与这个id相关联的数据 展开
DELETE FROM table WHERE date in('c','e','f')
结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;
用外键关联删除,把B表的uid设成外键关联A表的ID,并关联删除操作。
用存储过程,用事务来处理实现。
创建数据库:CREATE DATABASE database-name删除数据库
drop database dbname
创建新表create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
删除新表:drop table tabname
增加一个列:Alter table tabname add column col type
添加主键:Alter table tabname add primary key(col)
删除主键:Alter table tabname drop primary key(col)
创建索引:create [unique] index idxname on tabname(col….)
删除索引:drop index idxname
创建视图:create view viewname as select statement
删除视图:drop view viewname
建立触发器,这个所有数据库都可以。你这里就是after delete触发,也是删除语句,这个是可以的。
CREATE PROCEDURE DelFixUser
@CardNo CardNo
AS
Declare @CarNo CarNo
select @CarNo=车辆号码 from FixCardIndexTable
where 卡号=@CardNo
Delete from AllCardIndexTable
where 卡号=@CardNo
Delete from FixCardIndexTable
where 卡号=@CardNo
Delete from FixCardEndDateTable
where 卡号=@CardNo
Delete from CardPassWordTable
where 卡号=@CardNo
Delete from UserCarInfoTable
where 车辆牌号=@CarNo
说明:删除一个固定用户记录,同时从AllCardIndexTable、FixCardIndexTable、FixCardEndDateTable、CardPassWordTable和UserCarInfoTable表中删除相应的记录。