你可以先做个临时表,看看临时表的结果,这样保证你自己解析的需求是否正确无误先:
declare @t(流水号1 某类型);
insert into @t(流水号1)
select 流水号1 from A Left Join B on B.流水号1=A.流水号1
Left join C on C.流水号2=A.流水号1
where B.流水号1 is not null and C.流水号2 is not null
And 日期时间<='2013-11-31 23:59:59' and 付款方式<>'E'
--如果上面的流水号符合条件,就一起执行下面的语句
delete from A where 流水号1 in(Select 流水号1 From @t);
delete from B where 流水号1 in(Select 流水号1 From @t);
delete from C where 流水号2 in(Select 流水号1 From @t);
希望给帮到你,欢迎追问或留言。
‘贰’ sql server 删除多张表关联数据 怎么删除
具体方法:
作为外键暂且叫它主表,Delete from Main Where id=@id
则要先删除子表当中 Delete from Detail where MainId = @id
为了保证数据完整性,最好将上面的操作包含在一个事务中,如果两个语句影响的行数都大于零,则提交,否则回滚。
‘叁’ sql 删除表数据,关联别的表
三个表 表1 表2 表3
表1 表2 表3
id id id
time proce piece
删除表1的id 表二和表3的数据也跟着删除 ,在delphi中用sql语句 本人菜鸟,能详细点么
现在有3个表,表1、表2.表3,其中1.2表间id和proce相连,表2.3中id与piece相连,现在要删除表1中的一条记录,同时要删除表2.3中与表1相关联的数据,我该怎么做呢,最好给个例子
‘肆’ 如何用一句sql删除两个表中相关联的数据(没有外键)
为什么一定要一句话呢?一个SQL语句不能同时删除两张表,除非通过外键级联删除或者触发器,最正常的做法当然是写成2个SQL语句,然后用一个Trans来保证数据一致性,如果非要用一个SQL语句,可以有一个变通方法,写一侧存储过程,删除两张表,然后写的一句SQL是执行这个存储过程
‘伍’ 如何用一句sql删除2个表中相关联的数据(没有外键)
用触发器
CREATE TRIGGER TR_test ON a
FOR DELETE
AS
delete from b t
from deleted D
where t.id=D.id
测试方法如下
delete from a where id = 2
这样b中的id=2的记录就会被删除了
‘陆’ sql server数据库怎样同时删除两张表的数据
1、打开SQL Server 2008 并连接一个数据库。
‘柒’ sql 两个表关联删除数据
删除主-从表的记录可以建立简单存储过程来实现:
CREATE PROCEDURE [存储过程]
(
@Id VARCHAR(50)
)
AS
DELETE [子表] WHERE [关联Id] = @Id
DELETE [主表] WHERE [Id] = @Id
GO
执行方法:EXECUTE [存储过程] @Id
‘捌’ sql多表关联删除
删除多表关联数据的三种方法
1、级联删除
createtablea
(
idvarchar(20)primarykey,
passwordvarchar(20)notnull
)
createtableb
(
idintidentity(1,1)primarykey,
namevarchar(50)notnull,
userIdvarchar(20),
foreignkey(userId)referencesa(id)ondeletecascade
)
表B创建了外码userId 对应A的主码ID,声明了级联删除
测试数据:
insertavalues('11','aaa')
insertavalues('23','aaa')
insertbvalues('da','11')
insertbvalues('das','11')
insertbvalues('ww','23')
删除A表内id为‘11’的数据,发现B表内userId 为“11”也被数据库自动删除了
deleteawhereid='11'
2、采用存储过程
A表:AID Aname 主健:AID
B表:BID BelongAID Bname 主健:BID,外健:BelongAID
C表:CID BelongBID Cname 主健:CID,外健:BelongBID
D表:DID BelongCID Dname 主健:DID,外健:BelongCID
其中:
A表和B表通过A.AID和B.BelongAID 创建了外健关系
B表和C表通过B.BID和C.BelongBID 创建了外健关系
C表和D表通过C.CID和D.BelongCID 创建了外健关系
3、采用触发器
删除Class表中的一条记录的同时删除该记录Class_No字段值在Student表中对应的记录。
CreateTriggerClass_delete
onClass
fordelete
as
begin
deletefromStudent
whereClass_No=(selectClass_Nofromdeleted)
end
‘玖’ SQL中怎么删除2张表中有关联的数据信息
可以使用两种方式
1:删除子表数据,再删除主表数据
2:如果主细表中建立了级联删除操作,直接删除主表数据即可
‘拾’ SQL 如何把两个表相关联的数据一同删除
其实你这个问题最好用数据库本身的外键解决。就是在子表建立指向父表的外键。当删除主表数据时,只要加上delete语句加上 on cascade,所有子表引用的数据就删除了。