esProc icon indicating copy to clipboard operation
esProc copied to clipboard

计算结果为空时如何返回带结构的空序表

Open zoomafia opened this issue 3 years ago • 3 comments

如果spl最后计算结果为空,就会return null,应用调用时由于没有结构引用字段时就会出错。还要专门创建一个空序表返回。这块能否改进,或有什么更好的办法?

zoomafia avatar May 06 '22 11:05 zoomafia

这个不太好搞。SPL有空序表对象,可以create一个返回。 但通常出现这种情况是计算结果就是空集(比如select后是空的),没有记录也就没有数据结构了。而且SPL支持混合数据结构,不像SQL那样要求结果集的数据结构是唯一的,也就不合适指定某种数据结构。 不过,大部分情况直接返回null问题也不大的,null可以继续后面的各种操作(new,derive,.... ),也不会报错,反正进一步结果还是null,只是没法有一个标题出现了。

jbx1279 avatar May 07 '22 01:05 jbx1279

感谢回复。似乎是不太好弄,可能中间某步就没数据了。现在主要是报表,如果没有结构报表就会报错,看来只能create空序表返回了

zoomafia avatar May 07 '22 01:05 zoomafia

注意到select函数增加了一个@t选项可以保留结构

zoomafia avatar Jan 09 '23 07:01 zoomafia