我的问题如下:
我尝试过以下代码但收到错误:
--INSERT INTO cars c (c.plate, c.car_id)
SELECT DISTINCT cr.plate, car_id_seq.nextval
FROM cars_rentals cr
;
虽然这样可行(没有明确的登记牌照):
--INSERT INTO cars c (c.plate, c.car_id)
SELECT cr.plate, car_id_seq.nextval
FROM cars_rentals cr
;
(顶行被评论,所以我可以看到我试图直接输出的值)
原来如此!有谁知道我怎么做; A)获取上面的代码以使用DISTINCT或B)找到一种方法来获取序列的MAXVALUE作为注册板的DISTINCT COUNT(所以我可以做两个插入语句)
提前致谢! 千斤顶
答案 0 :(得分:11)
错误是:
ORA-02287:此处不允许使用序列号
这将解决它:
SELECT cr.plate, car_id_seq.nextval
FROM (SELECT DISTINCT plate FROM cars_rentals) cr
答案 1 :(得分:-1)
试试这个
select cr.plate,max(car_id_seq.nextval)
from car_rentals cr
group by cr.plate