Ver Mensaje Individual
  #41  
Antiguo 21-06-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola fpirovani.

Se podría decir que definir un dominio en Firebird es similar a definir un tipo en Pascal o Delphi. Por ejemplo:
Código SQL [-]
CREATE DOMAIN CHAR_LICITO CHAR(1) CHECK(UPPER(VALUE) IN ('S','N'))
Crea un dominio llamado "CHAR_LICITO" de un caracter, cuyos valores permitidos son 'S' y 'N'.

Luego en lugar de hacer esto en cada una de nuestras tablas:
Código SQL [-]
CREATE TABLE XX_XX(
  CARACTER CHAR(1) CHECK(UPPER(VALUE) IN ('S','N')),
  ...
podríamos hacer:
Código SQL [-]
CREATE TABLE XX_XX(
  CARACTER CHAR_LICITO, 
  ...
Ahora bién, ¿ Cual es la ventaja de todo esto a parte de ahorrar escritura ?

Bueno... si pasado un tiempo decidimos que los caracteres lícitos serán 'A' y 'B' no será necesario recorrer todas las tablas en donde definimos la restricción para modificarla. Bastará con modificar el dominio:
Código SQL [-]
CREATE DOMAIN CHAR_LICITO CHAR(1) CHECK(UPPER(VALUE) IN ('A','B'))

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita