如何从Netezza复制数据DEFINITION_SCHEMA[忽略bytea错误]



我正在尝试分析Netezza服务器上存储的过程中使用的代码。

第一步是获取存储在进程中包含的定义/代码 - 这可以通过以下任一方法轻松完成:

使用系统视图

select
PROCEDURE,
PROCEDURESOURCE
from _v_procedure
where
PROCEDURE = 'MY_PROC'
;

或使用基表 [视图指向此表]

select
PRONAME,
PROSRC as PROCEDURESOURCE
from
DEFINITION_SCHEMA."_T_PROC" P
where
PRONAME= 'MY_PROC'

现在,一旦我对 PROCEDURESOURCE 列运行一些分析并尝试将此信息写出到表中,我总是收到以下错误:

错误:IBM Netezza SQL 不支持类型 'bytea'

复制此错误的简单方法是执行以下操作

create table MY_SCHEMA.TEST_TMP as
with rs as
(
select
PRONAME,
PROSRC
from
DEFINITION_SCHEMA."_T_PROC" P
where
PRONAME = 'MY_PROC'
)
select * from rs

我已经确定DEFINITION_SCHEMA中有一列。bytea 类型的 _T_PROC"(列名 = PROBIN(

但是我没有选择此列,所以我不确定为什么会收到此错误

任何人都可以帮助解决如何将 PROCEDURESOURCE 复制到新表中并绕过"bytea"错误的解决方法

谢谢

3 条建议: 1(有时"全部限制"技巧会有所帮助:在子查询中使用LIMIT ALL有什么好处? 2(或者,执行"创建外部表"并将数据放入文件中,然后执行另一条语句以将其从文件中读回 3(最后的猜测是,您可能能够将列显式转换为更良性的数据类型(Varchar((或类似类型(

相关内容

  • 没有找到相关文章

最新更新