1
with
s1 as (select serial from wingstatushref where href = ? for key share),
i1 as (insert into wingstatushref
select ?
where not exists(select * from s1)
on conflict (href) do update set href=? returning serial)
它使用相同的?三次。我试图整合?成与:
with
h as (values (?)),
s1 as (select serial from wingstatushref where href=h for key share),
i1 as (insert into wingstatushref
select h
where not exists(select * from s1)
on conflict (href) do update set href=h returning serial)
select serial from s1 union all select serial from i1;
但是,这给了我
x SQL Compiles and Typechecks
x ERROR: column "h" does not exist
Position: 83 (specs2.scala:64)
什么是从SELECT子句引用小时数据的正确方法是什么?
'h'具有c CTE名称,语法上等同于一个表名称或相关名/别名。你必须指出你希望从'h'选择哪个字段:'从h ...'选择h.field。所以你必须提供一个字段名称给'VALUES'类。 (另外:'序列'看起来不像我的列名...) – wildplasser