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)
-   -   Asignar un valor por defecto. (https://www.clubdelphi.com/foros/showthread.php?t=87712)

jafera 16-02-2015 16:30:27

Asignar un valor por defecto.
 
Buenas a todos.

Tengo una duda respecto a asignar un valor inicial a un campo y es que no se si es mejor hacer la asignación con un default value en Firebird ej.

Código SQL [-]
"CARROZA"    DECIMAL(9, 2) DEFAULT VALUE 0

O bien el new record de la tabla poner:

Código Delphi [-]
CARROZA.Value = 0

Imagino que descargar de trabajo el exe es mejor y dejar que lo Firebird haga el trabajo "sucio", pero ahí está mi duda.

Gracias

Josep

Casimiro Notevi 16-02-2015 16:41:44

Personalmente, siempre uso la declaración en la base de datos.

jafera 16-02-2015 16:47:08

Gracias por la respuesta Antonio, es lo que creía pero a veces las dudas asaltan y ya se sabe, mejor una pregunta a tiempo que un marronazo al final.

Saludos

Josep

AgustinOrtu 16-02-2015 22:03:51

Yo estoy con casimiro, a veces tengo aplicaciones con tablas iguales/similares y cuando tengo que copiar la estructura se me hace mas sencillo ver que en la estructura de la tabla tiene el valor por defecto

Al González 16-02-2015 23:52:09

Yo también uso valores predeterminados (default values) a nivel de base de datos. Esto mientras no haya condición alguna para llevar a cabo la asignación. Cuando depende de alguna circunstancia, como el valor de otro campo o alguna chingadera similar, entonces conviene hacerlo en un disparador Before Insert, también a nivel de base de datos. :)

Cuando exista una condición que la base de datos no pueda determinar de manera directa, generalmente por tratarse de algo ajeno al servidor, entonces es adecuado hacerlo desde el código de la aplicación (usando el evento OnNewRecord o algo más sofisticado si se quiere).

Saludos.

roman 17-02-2015 18:33:09

Cita:

Empezado por jafera (Mensaje 488857)
Imagino que descargar de trabajo el exe es mejor y dejar que lo Firebird haga el trabajo "sucio"

Yo también considero más adecuado asignar el valor por defecto en la base de datos aunque no por la razón que expones ya que el impacto es imperceptible. Es simplemente que, al hacerlo a nivel de base de datos, cubres cualquier otra vía de entrada de datos, presente o futura, sin tener que estar considerando cada caso por separado.

// Saludos

Al González 17-02-2015 22:25:52

Cita:

Empezado por roman (Mensaje 488906)
[...] al hacerlo a nivel de base de datos, cubres cualquier otra vía de entrada de datos, presente o futura, sin tener que estar considerando cada caso por separado.

¡Muy cierto! :) +1


La franja horaria es GMT +2. Ahora son las 05:51:15.

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