Oracle多表联合删除?--转
oracle和mysql多表删除数据的⽅法⼀⼤把,好多都是没经过证实的,你很可能已经被错误信息误导了,下⾯我以mysql两张表删除数据为例,来让给为注意到这⼀点,我在mysql中新建了两张表,分别是⽤户表和国家表,如下所⽰。
⽤户表users:
国家表country,如图:
当你看到这两张mysql表的时候,你⼀定认为多表数据删除的语句是这样的,其实这样是错误的!,如下。
delete from users u,country c where u.id = c.userId and u.id =20
mysql多表删除⽤上⾯的语句会报sql syntax语法错误的,报错如下。
[SQL]
delete from users u,country c where u.id = c.userId and u.id = 20webservice接口服务器
哈希表词频统计[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near
'u,country c where u.id = c.userId and u.id = 20' at line 1
mysql多表删除数据正确的⽅法应该使⽤内连接来删除,如下两条语句,可任选⼀句。
//语句⼀
delete u,c from users u INNER JOIN country c on u.id = c.userId and u.id =20
免费photoshop 中文版下载//语句⼆mysql语句转oracle
delete u,c from users u INNER JOIN country c where u.id = c.userId and u.id =10
这个时候你⼀定会认为,oracle删除多表数据能否⽤上⾯这两条语句?答案是:不⾏!,它会报如下错误。
“ORA-00933:SQL命令未正确使⽤”
说明oracle使⽤上⾯的两条语句多表删除数据是不⾏的,那oracle多表删除数据该怎么写呢?命令如下。
socket套接字的概念//oracle中只能分开执⾏
delete from users where users.id =20
fork怎么读语音
delete from country where country.userId =20
在oracle中不能进⾏多表关联删除,这可能跟oracle数据库的安全机制有关,你只能把上⾯的语句分成两条sql语句来执⾏才可以实现oracle的多表删除。
转⾃:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。