SQL:通过Statement for Postgres翻译递归连接的问题

时间:2018-04-27 11:48:46

标签: sql postgresql

我尝试翻译以下oracle sql,它将带有增量值的1000行插入表中:

var arrViews = self.navigationController?.viewControllers

    for viewController in arrViews! {

        if viewController is YourViewControllerToRemove{

            if let index = arrViews?.index(of: viewController) {
                arrViews?.remove(at: index)
            }
        }
    }

self.navigationController?.viewControllers = arrViews!

对于Postgres的支持,我知道我可以用ROW_NUMBER()OVER()替换ROWNUM,但我真的很头疼翻译connect by语句。我已经阅读了关于CTE的内容,但我不知道如何使用插入语句来使用它。

有谁知道如何为postgresql写这个语句?感谢。

2 个答案:

答案 0 :(得分:2)

您可以生成一个系列并使用它:

insert into tableName (col1, col2, col3)
    select 'AN' || (1000000 + g.n), 'EXT' || (9000000 + g.n), g.n
    from generate_series(1, 1000) g(n);

答案 1 :(得分:1)

尝试generate_series

 select 'AN' || (1000000 + ROWNUM), 'EXT' || (9000000 + ROWNUM),
 ROWNUM from generate_series(1,10000) as rownum ;