Porque dice "error de sintaxis"?
Publicado por Daniel (1 intervención) el 02/07/2007 03:33:53
Hola.
Tengo un problema y busco ayuda, ojala puedan darmela.
Estoy creando procedimientos almacenados en postgresql pero al crear un procedimiento me manda siempre error al declarar una variable o al declarar un bloque begin-end, por ejemplo, este ejemplo lo probe textual y me manda error entonces no entiendo que pasa
create or replace function inventario.agregar_nuevo(int, decimal, int, int) returns void as $$
declare
test int:=0;
begin
insert into inventario.categorias
values
(
$1,
$2
);
end;
$$ language 'sql';
segun dice el manual que asi se debe escribir un procedimiento almacenado, pero me manda error en la linea que dice test int:=0; y si le quito el declare, me manda error en el primer begin, a menos que le coloce un ; pero en el manual no dice nada de que los inicios de bloques de codigo haya que ponerle punto y coma. El error que me manda siempre es error de sintaxis.
Uso la version 8.2 de postgresql, y lo instale desde cero, es decir, no le instale nada mas, nada de lenguajes, paquetes extra ni nada, bueno, excepto el pgAdmin3 para tener una herramienta grafica, tampoco instale lenguajes ni nada de eso.
Disculpen la pregunta, pero es que soy super novato en postgresql, ojala puedan ayudarme.
Un saludo.
Tengo un problema y busco ayuda, ojala puedan darmela.
Estoy creando procedimientos almacenados en postgresql pero al crear un procedimiento me manda siempre error al declarar una variable o al declarar un bloque begin-end, por ejemplo, este ejemplo lo probe textual y me manda error entonces no entiendo que pasa
create or replace function inventario.agregar_nuevo(int, decimal, int, int) returns void as $$
declare
test int:=0;
begin
insert into inventario.categorias
values
(
$1,
$2
);
end;
$$ language 'sql';
segun dice el manual que asi se debe escribir un procedimiento almacenado, pero me manda error en la linea que dice test int:=0; y si le quito el declare, me manda error en el primer begin, a menos que le coloce un ; pero en el manual no dice nada de que los inicios de bloques de codigo haya que ponerle punto y coma. El error que me manda siempre es error de sintaxis.
Uso la version 8.2 de postgresql, y lo instale desde cero, es decir, no le instale nada mas, nada de lenguajes, paquetes extra ni nada, bueno, excepto el pgAdmin3 para tener una herramienta grafica, tampoco instale lenguajes ni nada de eso.
Disculpen la pregunta, pero es que soy super novato en postgresql, ojala puedan ayudarme.
Un saludo.
Valora esta pregunta


0