我希望分析在某个红移仓库(不是我的)上执行的查询。为了做到这一点,我使用了一个对stl\u querytext和stl\u query有连接的查询。我的问题是,为什么我也会得到非法查询(即sql语法错误的查询)?当我在本地的红移中试过的时候,我还没见过那些。另外,找不到相关文档。这是配置问题吗?万一我问这些问题有没有办法知道这些是非法的?谢谢,尼尔。
n8ghc7c11#
所以stl_querytext将长查询分解为由序列号标识的部分。我希望作为第一步,您正在将这些部分重新构建到原始查询中。只要结果查询不超过max tex字段(大约320个部分),就可以使用listag()函数完成此操作。现在,这还不足以在所有情况下恢复有效的sql,因为您需要根据查询的节是在查询中的文本字符串的内部还是外部,以不同的方式处理组合部分(零件之间是否需要空白)我已经做了一大堆这样的过程,所以这是可行的。我在空白问题上没有一个完美的过程,我很接近。也许其他人知道从stl\u querytext获得查询的精确再现的表达式。
1条答案
按热度按时间n8ghc7c11#
所以stl_querytext将长查询分解为由序列号标识的部分。我希望作为第一步,您正在将这些部分重新构建到原始查询中。只要结果查询不超过max tex字段(大约320个部分),就可以使用listag()函数完成此操作。
现在,这还不足以在所有情况下恢复有效的sql,因为您需要根据查询的节是在查询中的文本字符串的内部还是外部,以不同的方式处理组合部分(零件之间是否需要空白)
我已经做了一大堆这样的过程,所以这是可行的。我在空白问题上没有一个完美的过程,我很接近。也许其他人知道从stl\u querytext获得查询的精确再现的表达式。