<changeSet author="tarun" id="122">
<insert tableName="table1">
<column name="uuid" valueComputed="SELECT uuid from table2 group by uuid" />
</insert>
</changeSet>
从table2组中选择uuid,uuid返回3行。
发布于 2021-04-19 06:18:44
您将得到语法错误,因为valueComputed
属性在INSERT
查询中添加了VALUES
。因此,例如,结果查询类似于这个INSERT INTO public.table1 (uuid) VALUES (SELECT uuid from table2 group by uuid)
,如果您直接尝试在DB上运行它,将导致一个错误。在INSERT语句中使用子查询时,不需要在那里使用VALUES
。
您能否在XML变更集中使用SQL标记进行尝试,如下所示:
<changeSet author="tarun" id="122">
<sql>
INSERT INTO public.table1 (uuid) SELECT uuid from table2 group by uuid
</sql>
<rollback>
***Rollback query for above SQL goes here***
</rollback>
</changeSet>
这将导致与您想要实现的输出相同的结果。
https://stackoverflow.com/questions/67149538
复制相似问题