![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola, ¿esa sintaxis es de db2?, no entiendo realmente lo que quieres, pero si es un simple select, entonces crea un procedimiento almacenado "normal":
Código:
CREATE PROCEDURE PROCPEDIDOSVENTASCLI ( CODCLIENTE Integer )
RETURNS (
CODPEDIDO Integer,
FECHA Timestamp,
CABPEDIDO Varchar(15),
etc... )
AS
begin
for
select Codigo, Fecha, SerieNumero, etc...
from tbLineasVentas
where TipoDocumento=2
and Cliente=:codCliente
order by Fecha desc
into :CodPedido, :Fecha, :CabPedido, etc...
do begin
/* esto es sólo un ejemplo, aquí haces lo que necesites */
suspend;
end
end
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#2
|
|||
|
|||
|
Hola...
No, no es la sintaxis de DB2, es lo que estoy tratando de hacer: como soy un poco novato con Firebird, en un primer momento quiero hacer una select (desde dentro de un procedimiento almacenado), que me devuelva todos los registros que cumplan los criterios; un poco a modo de prueba. Despues lo que necesito es tambien, todo el contenido de una SELECT con varios campos calculados como alias ademas de los campos de la tabla, pero estos calculos no son "directos", se calcularian a partir de un campo de la SELECT, pero dependieno del contenido de otro campo que no entra en el calculo; por lo que he leido tendria que recorrer toda la SELECT utilizando FOR SELECT; no se si he explicado bien lo que quiero hacer. Lo que no veo, al menos de una forma clara es la posibilidad de mostrar/devolver todos los registros de la SELECT, me gustaria ir comprobando los procesamientos que hago. Saludos y gracias |
|
#3
|
||||
|
||||
|
Explica entonces exactamente qué quiéres hacer, qué campos tienes, qué resultado esperas obtener, etc.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#4
|
|||
|
|||
|
Creo que lo he entendido, al menos funciona como deseaba: tengo que declarar en la parte de RETURNS tantas variables como campos del SELECT (por supuesto con sus tipos correspondientes), y despues en el FOR SELECT rellenarlas con INTO :variable y asi obtengo un Recordset con un registro por cada lectura en FOR SELECT.
En DB2 de iSeries es diferente, directamente declaras un cursor, lo abres y ya tienes los registros. Muchas gracias, de momento ya no tengo la sensacion de haberme atorado. Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| llamar a procedure desde otra procedure | anubis | Varios | 23 | 04-03-2010 18:44:37 |
| puntero a un procedure en un procedure como parametro | fcios | Varios | 2 | 14-03-2009 03:41:22 |
| Cursor | subzero | Firebird e Interbase | 1 | 21-02-2005 20:08:42 |
| Cursor | fmonte | Varios | 2 | 26-08-2004 00:51:46 |
| crear cursor en stored procedure al estilo de sqlserver | Nose | Firebird e Interbase | 4 | 10-05-2004 18:07:32 |
|