oracle删除关联表的数据,如何删除啊!下面是我写的SQL,不知道哪里出问题了,就是运行不了!

oracle删除关联表的数据,如何删除啊!下面是我写的SQL,不知道哪里出问题了,就是运行不了!,第1张

你这个写法有问题,oracle不允许这样删除,如果想级联删除有两个方法实现:方法一:触发器解决,方法二:修改你的外键设置,达到级联删除的目的。如果不用级联删除的话就只有一个表一个表的删除,先删除contactcomm表再删除contact 表。

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

具体方法:

作为外键暂且叫它主表,Delete from Main Where id=@id

则要先删除子表当中 Delete from Detail where MainId = @id

为了保证数据完整性,最好将上面的 *** 作包含在一个事务中,如果两个语句影响的行数都大于零,则提交,否则回滚。

select from 表一,表二 whre 表一ID = 表二ID

或者用 select from 表一 as a inner join 表二 as b on aID = bID

一般情况下不用弄什么外键关联,ID 相同了,就可以了。

至于删除,你要先知道是哪个ID。如果想用一条语句删除俩张表的数据是不可能的。

不过,你可以使用触发器。一般都在主表上加。

你可以先做个临时表,看看临时表的结果,这样保证你自己解析的需求是否正确无误先:

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);

希望给帮到你,欢迎追问或留言。

以上就是关于oracle删除关联表的数据,如何删除啊!下面是我写的SQL,不知道哪里出问题了,就是运行不了!全部的内容,包括:oracle删除关联表的数据,如何删除啊!下面是我写的SQL,不知道哪里出问题了,就是运行不了!、为什么sql语句从主表删除一条数据,也会把先关联的多个子表数据也删除、sql server 删除多张表关联数据 怎么删除等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10064266.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存