PDA

Ver la Versión Completa : Asignar un valor por defecto.


jafera
16-02-2015, 16:30:27
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.

"CARROZA" DECIMAL(9, 2) DEFAULT VALUE 0

O bien el new record de la tabla poner:

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
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
[...] 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