问题描述
有没有办法执行 2 个集合的并集,其中两个集合都由 2 个不同的执行块命令输出?
集合结构相同,但每一个包含不同的参数,因此我不能轻易地将两者合并到一个执行块命令中。
例如
var xfColor = Xamarin.Forms.Color.Fromrgba(219,52,152,255);
// Extension to convert
// using Xamarin.Essentials;
var platformColor = xfColor.ToPlatformColor();
解决方法
EXCUTE BLOCK
不能用于 UNION
。只有 SELECT
可以参与 UNION
。如果要合并两个 PSQL 块的结果,则需要将它们创建为可选择的存储过程,而不是临时 EXECUTE BLOCK
语句。有了两个可选择的存储过程,您就可以应用 UNION
:
select * from procedure1
union
select * from procedure2
或者,如果您确实需要使用 EXECUTE BLOCK
,那么您需要创建一个 EXECUTE BLOCK
来创建完整的输出。不过,我看不出是什么阻止了您创建单个执行块:如果参数不同,那么您只需要为其中一个添加单独的参数,或者 - 如果是关于输出参数 - 重命名事物以使它们可供两者使用。