Sintaxe error on procedure creation
Posted in 2011
Topics: Stored Procedures & SPL, Security, Permissions & Auditing, Data Types & Schema Design, Jobs, Consulting & Announcements
Hi folks,
I'm trying to create a procedure in a 11.5 Informix release. I need to use a
field that is a caracter blob in database instance. This blob is located at
the same place of table.
drop procedure sp_grava_catalogo_prod_pt;
create procedure sp_grava_catalogo_prod_pt(p_cod_item char(15),
p_familia varchar(150),
p_sub_familia varchar(150),
p_aplicacao text,
p_descricao text,
p_imagem varchar(100),
p_ies_ativo char(1),
p_ca varchar(150),
p_fispq varchar(150),
p_ficha_emergencia varchar(150),
p_boletim_tecnico varchar(150),
p_laudo varchar(150),
p_manual varchar(150),
p_info varchar(150))
returning int,
char(1000);
define p_count integer;
define num_rows int;
define p_msg char(1000);
-- Controle de erros
define sql_err int;
define isam_err int;
define error_info char(70);
-- set debug file to "debug_veiga";
-- trace on;
on exception set sql_err,isam_err,error_info
let p_msg="ERRO sql="||sql_err||" isam="||isam_err||" Descr "||error_info;
-- rollback work;
return 0,p_msg;
end exception with resume;
-- excluindo o item do catalogo
delete from wb_catalogo_prod where cod_item = p_cod_item;-- incluindo o item no catalogo
insert into wb_catalogo_prod values(
p_cod_item,
p_familia,
p_sub_familia,
p_aplicacao,
p_descricao,
p_imagem,
p_ies_ativo,
p_ca,
p_fispq,
p_ficha_emergencia,
p_boletim_tecnico,
p_laudo,
p_manual,p_info);
let num_rows=dbinfo("sqlca.sqlerrd2");
if num_rows=0 Then
return 0,"ERRO Grava wb_catalogo_prod.";
end if;
return 1,"OK Atualização efetuada com sucesso.";
-- trace off;
end procedure;
Informix gave me back, the follow error
201: A syntax error has occurred
Exactly at the line
p_aplicacao text,
Does anybody here has tryied it before?
Thanks a lot
André Luiz Rufino
Please not that when passing a text you must do this by reference. You=
are missing the keyword references.
p_aplicacao references text
John F. Miller III
STSM, Embedability Architect
miller3@us.ibm.com
503-578-5645
IBM Informix Dynamic Server (IDS)
ids-bounces@iiug.org wrote on 08/25/2011 09:01:14 AM:
> From: "Andr=E9 Luiz Rufino" <andre_rufino@msn.com>
> To: ids@iiug.org
> Date: 08/25/2011 09:11 AM
> Subject: Sintaxe error on procedure creation [24729]
> Sent by: ids-bounces@iiug.org
>
> Hi folks,
>
> I'm trying to create a procedure in a 11.5 Informix release. I need t=
o
use a
> field that is a caracter blob in database instance. This blob is loca=
ted
at
> the same place of table.
>
> drop procedure sp_grava_catalogo_prod_pt;
> create procedure sp_grava_catalogo_prod_pt(p_cod_item char(15),>
> p_familia varchar(150),
>
> p_sub_familia varchar(150),
>
> p_aplicacao text,
>
> p_descricao text,
>
> p_imagem varchar(100),
>
> p_ies_ativo char(1),
>
> p_ca varchar(150),
>
> p_fispq varchar(150),
>
> p_ficha_emergencia varchar(150),
>
> p_boletim_tecnico varchar(150),
>
> p_laudo varchar(150),
>
> p_manual varchar(150),
>
> p_info varchar(150))
>
> returning int,
>
> char(1000);
> define p_count integer;
> define num_rows int;
> define p_msg char(1000);
>
> -- Controle de erros
> define sql_err int;
> define isam_err int;
> define error_info char(70);
> -- set debug file to "debug_veiga";
> -- trace on;
> on exception set sql_err,isam_err,error_info
>
> let p_msg=3D"ERRO sql=3D"||sql_err||" isam=3D"||isam_err||" Descr "||=
error_info;
> -- rollback work;
>
> return 0,p_msg;
> end exception with resume;
>
> -- excluindo o item do catalogo
> delete from wb_catalogo_prod where cod_item =3D p_cod_item;> -- incluindo o item no catalogo
> insert into wb_catalogo_prod values(
> p_cod_item,
> p_familia,
> p_sub_familia,
> p_aplicacao,
> p_descricao,
> p_imagem,
> p_ies_ativo,
> p_ca,
> p_fispq,
> p_ficha_emergencia,
> p_boletim_tecnico,
> p_laudo,
> p_manual,> p_info);
> let num_rows=3Ddbinfo("sqlca.sqlerrd2");
> if num_rows=3D0 Then
>
> return 0,"ERRO Grava wb_catalogo_prod.";
> end if;
> return 1,"OK Atualiza=E7=E3o efetuada com sucesso.";
>
> -- trace off;
> end procedure;
>
> Informix gave me back, the follow error
>
> 201: A syntax error has occurred>
> Exactly at the line
>
> p_aplicacao text,
>
> Does anybody here has tryied it before?
>
> Thanks a lot
>
> Andr=E9 Luiz Rufino
>
>
>
***********************************************************************=
********
> Forum Note: Use "Reply" to post a response in the discussion forum.=
>=