Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Nombre de campo dependiendo del mes (https://www.clubdelphi.com/foros/showthread.php?t=20911)

victortera 29-04-2005 10:29:47

Nombre de campo dependiendo del mes
 
Estoy haciendo un trigger que actualiza una tabla cada vez que se inserta un registro en otra. Hasta ahí todo bien. el problema lo tengo en que tengo que actualizar un campo distinto dependiendo de en qué mes nos encontremos.

Por ejemplo:

Si estamos en Abril, el campo a actualizar es el E04.
Si estamos en Julio, el campo a actualizar es el E07.

Es decir:


UPDATE STOCK_VE SET campo=campo+NEW.KILOS WHERE EJERCICIO=:vEJERCICIO AND VARIEDAD=:vVARIEDAD

Pues no sé como hacer que campo sea cada vez uno.
¿Me podéis ayudar?

Muchas gracias,

víctor.

rastafarey 29-04-2005 18:59:01

Resp
 
Mira declara una variable local

Luego extraes la fecha con la fucnion extrac de la fecha.

y a dicha variable le asignas el valor que extariste.

Soluciones
1: Con un aconcion si el la varaible es un ejecutas el slq para el campo E01

Pero esta es mucho codigo

2:Declaras la variable de tipo smallint

Declare V smallint;

V := extract(day from 'now' /*o usas current_time_stamp*/)
/*puede que los nombred elas funciones estan mal escritas verificalas*/
eso te devuelve el dia;

luego haces un executeStatement de tu instruccion.

seria algo asi
excute ... 'E0'||V ...;

Lee un poco sobre exceutestatement

Ha La segunta forma solo es sosportada por firebird 1.5 de si no tienes este deberas usar la primero.


La franja horaria es GMT +2. Ahora son las 00:51:45.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi