是否可以联合两个 EXECUTE BLOCK 语句?

问题描述

有没有办法执行 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 来创建完整的输出。不过,我看不出是什么阻止了您创建单个执行块:如果参数不同,那么您只需要为其中一个添加单独的参数,或者 - 如果是关于输出参数 - 重命名事物以使它们可供两者使用。