PDA

Ver la Versión Completa : Realizar consulta con un SP que traiga varios registros


goner88
28-11-2011, 02:34:38
Hola amigos buenas noches,

Tengo una consulta: estoy realizando un sp en Firebird para consultar el detalle de una tabla, a este sp le paso como parámetro el FOLIO de la tabla maestro, el problema es que me devuelve un error. Lo que necesito es traer todas los renglones que contiene el detalle. El codigo del sp queda de la siguiente manera:

CREATE PROCEDURE TICKET_VENTA(
FOLIO_AUX VARCHAR(10) CHARACTER SET ISO8859_1 COLLATE ISO8859_1)
RETURNS(
ARTICULO_DESCRIPCION VARCHAR(20) CHARACTER SET ISO8859_1 COLLATE ISO8859_1,
CANTIDAD INTEGER)
AS
DECLARE VARIABLE ART_DESC VARCHAR(20);
DECLARE VARIABLE ART_CANT INTEGER;
BEGIN
FOR
SELECT ARTICULOS.ARTICULO_DESCRIPCION,MOVIMIENTOS_VTAS_DET.CANTIDAD
FROM ARTICULOS
INNER JOIN MOVIMIENTOS_VTAS_DET ON ARTICULOS.ID_ARTICULO=MOVIMIENTOS_VTAS_DET.ID_ARTICULO
INNER JOIN MOVIMIENTOS_VTAS ON MOVIMIENTOS_VTAS.FOLIO=MOVIMIENTOS_VTAS_DET.FOLIO
WHERE MOVIMIENTOS_VTAS.FOLIO=:FOLIO_AUX
INTO :ARTICULO_DESCRIPCION,:CANTIDAD
DO
SUSPEND;
END;

Ejecuto el sp de la siguiente manera: SELECT * FROM TICKET_VENTA('1')

Para ser exactos el error que me devuelve es el siguiente:
Arithmetic exception, numeric overflow, or string truncation.
String right truncation.
At procedure 'TICKET_VENTA' line: 10, col: 4.

Agradezco mucho su apoyo.. Gracias!

p.d. disculpen si tengo errores la verdad me estuve intentanto mucho postear esto por IE 9 y siempre recibia un error y me borraba el mensaje, ahora lo hago con otro navegador :).

ecfisa
28-11-2011, 02:48:42
Hola goner88 y bienvenido a los foros de Club Delphi :)

Como es costumbre con los nuevos miembros te invitamos a que leas nuestra Guía de estilo (http://www.clubdelphi.com/foros/guiaestilo.php).

También te sugiero, que cuando incluyas código, para darle más legibilidad utilices las Etiquetas vB (http://www.clubdelphi.com/foros/showthread.php?t=75877), te adjunto una imágen que explica su uso:

http://www.imagengratis.org/images/tagshv7ch.jpg

Un saludo.

guillotmarc
28-11-2011, 10:45:44
Buenos días,

Comprueba que en la base de datos, ARTICULO_DESCRIPCION sea un campo de tipo varchar(20). Parece ser de mayor tamaño y por eso da error de truncamiento de cadenas al intentar asignar el campo a una variable varchar(20).

Saludos.