Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Stored procedures 如何从Netezza定义_模式复制数据[忽略bytea错误]_Stored Procedures_Netezza_Bytea_System Tables_Nzsql - Fatal编程技术网

Stored procedures 如何从Netezza定义_模式复制数据[忽略bytea错误]

Stored procedures 如何从Netezza定义_模式复制数据[忽略bytea错误],stored-procedures,netezza,bytea,system-tables,nzsql,Stored Procedures,Netezza,Bytea,System Tables,Nzsql,我试图分析Netezza服务器上存储过程中使用的代码 第一步是获取存储过程中包含的定义/代码-这可以通过以下任一方法轻松完成: 使用系统视图 select PROCEDURE, PROCEDURESOURCE from _v_procedure where PROCEDURE = 'MY_PROC' ; 或使用基表[视图指向此表] select PRONAME, PROSRC as PROCEDURESOURCE from DEFINITION_

我试图分析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\u SCHEMA中有一个类型为bytea(column name=PROBIN)的列

但是,我没有选择此列,因此我不确定为什么会出现此错误

有人能帮助解决如何将PROCEDURESOURCE复制到新表中并绕过“bytea”错误的问题吗

谢谢

3条建议: 1) 有时,“限制所有”技巧有助于: 2) 或者,执行“创建外部表”并将数据放入一个文件中,然后执行另一个语句从文件中读回数据 3) 最后一个猜测是,您可能能够显式地将列强制转换为更良性的数据类型(Varchar()或类似)