将 oracle 脚本转换为 mysql 脚本
Convert oracle script to mysql script
需要这方面的帮助我正在将数据库从 oracle 迁移到 mysql。我是 运行 以下在 oracle 中的查询它工作正常但在 mysql 中得到
INSERT INTO xyz(rid, pid)
SELECT rid, pid
FROM ((SELECT distinct rd,
(SELECT p.pid FROM abc p WHERE p.permission='jury') AS pid
FROM xyz
WHERE pid IN (SELECT p.pid
FROM abc p
WHERE p.permission in ('jury'))
));
出现以下错误
Every derived table must have its own alias [SQL State=42000, DB Errorcode=1248]
我不是 MySQL 用户,但谷歌搜索错误表明它期望内联视图具有别名:
insert into xyz (rid, pid)
select rid, pid
from ( (select distinct rd,
(select p.pid
from abc p
where p.permission = 'jury')
as pid
from xyz
where pid in (select p.pid
from abc p
where p.permission in ('jury')))) res;
但是,这不就是一种非常非常复杂的做法吗:
insert into xyz (rid, pid)
select distinct xyz.rd,
abc.pid
from xyz
inner join abc on (xyz.pid = abc.pid and abc.permission = 'jury');
?
需要这方面的帮助我正在将数据库从 oracle 迁移到 mysql。我是 运行 以下在 oracle 中的查询它工作正常但在 mysql 中得到
INSERT INTO xyz(rid, pid)
SELECT rid, pid
FROM ((SELECT distinct rd,
(SELECT p.pid FROM abc p WHERE p.permission='jury') AS pid
FROM xyz
WHERE pid IN (SELECT p.pid
FROM abc p
WHERE p.permission in ('jury'))
));
出现以下错误
Every derived table must have its own alias [SQL State=42000, DB Errorcode=1248]
我不是 MySQL 用户,但谷歌搜索错误表明它期望内联视图具有别名:
insert into xyz (rid, pid)
select rid, pid
from ( (select distinct rd,
(select p.pid
from abc p
where p.permission = 'jury')
as pid
from xyz
where pid in (select p.pid
from abc p
where p.permission in ('jury')))) res;
但是,这不就是一种非常非常复杂的做法吗:
insert into xyz (rid, pid)
select distinct xyz.rd,
abc.pid
from xyz
inner join abc on (xyz.pid = abc.pid and abc.permission = 'jury');
?