FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Sp. con errores como solucionarlo y mejora los indices
Hola a todos
Utilizo firebird 1.5.3 , estoy tratando de crear un sp que le datos de una tabla y luego esos datos lo envio como parametros para sacar un informe que me estan pidiendo que es sacar las ventas por ano y mes por ciertos rangos los cuales pueden parametrizados (por eso lo puse en un a tabla y los envio para obtener el query) Anexo el codigo del Sp.
Me sale un error de single row en select y no me muestra nada , si quito el select despues del do me muestra los rangos de pedidos pero no los datos que deberia alguien me puede orientar o dar otra mejor idea de sacar este infiorme , crear algun indice para que valla mas rapido o algo , Nota : Si ejecuto el select solo si funciona pero con solo un rango
__________________
IVAND |
#2
|
||||
|
||||
debes usar algo así:
Con eso estas diciendo que para registro que exista, haga un suspend. Ademas el "select ... into" dice que los valores que estas seleccionando en la tabla, los pase a los parámetros "dato, mes, ano" El "count(c.key_cab_fac) " se guardaría en el parámetro "dato" El "extract(month from c.fec_factura)" en el parámetro "mes" etc. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#3
|
|||
|
|||
Gracias Lepe por tu respuesta , exactamente es lo que hago un suspend pero parace que el errro lo da al entrar al select , no entiendo he echo un monton de sp de esta manera pero aqui halgo esta mal .... Seguro alguna alma caritativa me ayudara
De antemano gracias Seguire intentando
__________________
IVAND |
#4
|
|||
|
|||
Hola a todos nuevamente
Estoy con mente mas fresca y tengo varias inquietudes. 1-) El primer select (for ) me saca los parametros que envio al segundo select 2-) el segundo select responde enviando varios registros (ahi es donde esta el problema deberia mandar uno a la vez entonces entra el Suspend lo retorna y continua el ciclo entonces deberia aumentar un for al segundo select y mandar otro select para que me retorne el valor unico y asi continuar hasta que termino el ciclo pero aqui me pierdo necesito de su ayuda con este problema De antemano Gracias
__________________
IVAND |
#5
|
|||
|
|||
¿El error que da es "multiple rows in singleton select"?
Si es así, el error se produce por que el siguiente select devuelve más de un registro para algún valor. Prueba a poner un "in" en lugar de un "=":
Última edición por fdelamo fecha: 17-01-2007 a las 17:52:28. |
#6
|
|||
|
|||
Ya lo he probado el problema esta en el segundo query , lo que me envia es un conjunto de datos (20 Registros o Menos), aqui es donde esta el problema al parecer no puede enviar todos estos registros con un suspend si no que tiene que hacerlo uno a uno , entonces me parece que al segundo query agregarle un for y con estos datos enviar la consulta , pero ahi estaria matando al servidor
__________________
IVAND |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
A ver si ah alguien le sirve y lo mejora... | DarkDrakon | Varios | 5 | 27-08-2005 06:43:51 |
Uso de campos lookup como indices. | purhé | Tablas planas | 2 | 20-06-2005 22:57:34 |
Mejora la cultura sexual. | marcoszorrilla | Humor | 0 | 15-04-2005 21:41:34 |
Mejora una consulta Indexando campos fisicamente?? | nefy | SQL | 7 | 16-07-2004 16:32:06 |
Como regenerar indices? | nefy | Tablas planas | 1 | 11-02-2004 20:28:35 |
|