Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Problema función insertar datos

Estas en el tema de Problema función insertar datos en el foro de PostgreSQL en Foros del Web. Hola. El problema que tengo, consiste en que tengo una tabla "usuario" y estoy intentando implementar una función que, dados unos datos, me los introduzca ...
  #1 (permalink)  
Antiguo 03/02/2008, 11:44
 
Fecha de Ingreso: febrero-2008
Mensajes: 75
Antigüedad: 16 años, 3 meses
Puntos: 0
Problema función insertar datos

Hola.

El problema que tengo, consiste en que tengo una tabla "usuario" y estoy intentando implementar una función que, dados unos datos, me los introduzca en la tabla.

Mi tabla usuario está formada por:
Id_usuario (PK)
Nombre
Apellidos

Lo que he hecho es lo siguiente:
CREATE FUNCTION Anadir_cliente (IN Nombre_usuario TEXT, IN Apellidos_usuario TEXT) RETURNS void AS'
BEGIN
INSERT INTO cliente VALUES (5, Nombre_usuario, Apellidos_usuario);
END;
'LANGUAGE 'sql' ;
ALTER FUNCTION Anadir_cliente (IN Nombre_usuario TEXT, IN Apellidos_usuario TEXT) OWNER TO postgres;
Y el mensaje de error me dice que dicho error está antes o depués del "INSERT INTO"


¿Qué estoy haciendo mal?



SALU2
  #2 (permalink)  
Antiguo 04/02/2008, 14:21
 
Fecha de Ingreso: enero-2008
Mensajes: 25
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Problema función insertar datos

1ero) no se llama usuario la tabla? (en la funcion dice: "INSERT INTO cliente..." cliente???)
2do) corta y pega el mensaje de error completo que te tira postgres, asi es mas facil ayudarte.
3ro) a que tipo de datos pertenecen cada uno de los atributos de la tabla usuario? (por el momento no importa, pero una pregunta completa lo necesita!)

saludos!
  #3 (permalink)  
Antiguo 06/02/2008, 09:25
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: Problema función insertar datos

No funciona porque no está bien, como dice bransh más información en las consultas siempre
ayuda, aunque en este caso no es necesario.

Te sobran las comillas ' despues de AS y antes de LANGUAGE. Aparte de sobrarte el BEGIN ... END.
Los parametros se nombran con $n, seria conveniente que la clave primaria utilizará una secuencia, ....
en fin, un repaso al manual!!!!

Quedaría asi:

CREATE FUNCTION Anadir_cliente (IN Nombre_usuario TEXT, IN Apellidos_usuario TEXT) RETURNS void AS
$BODY$
INSERT INTO clientes VALUES (5, $1, $2);
$BODY$
LANGUAGE 'sql' ;


Salu2
  #4 (permalink)  
Antiguo 06/02/2008, 10:10
 
Fecha de Ingreso: febrero-2008
Mensajes: 75
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: Problema función insertar datos

Hola.

Iba a poner el mensaje de error que me daba el postgres pero ya me lo habéis solucionado.

Tienes razón seyko, me voy a leer el manual de cabo a rabo



SALU2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:22.