Limites en declaración de tipos de campo
Hola amigos del club. Tengo un problemilla: tengo una base de datos hecha en InterBase. Esta es bien sencilla y su trabajo es almacenar datos que varian de 0 a 35.50 no más. Sin embargo tengo el problema que de vez en cuando a los operadores se les va un teclazo y zas que ingresaron un 450! Se que esto se puede limitar colocando en el TextBox una mascará (en la propiedad EditMask). Pero mi pregunta es: ¿Es posible fijar los limites cuando se declara el campo en la base de datos?
Por ejemplo algo así como:
Se que es una tontería pero no se como hacerlo. Como hacer para fijar rangos de ingreso desde la base de datos? Desde ya gracias amigos. |
Cita:
Ahora no puedo comprobar la sintáxis pero es algo así. Un Saludo. |
(Algo curioso pero que a todos nos pasó alguna vez)
Saben mis queridos amigos, me tienen mal acostumbradisimo!!! jaja se los comento porque deje abierto el explorador web, y a cada rato regreso a ver si ya respondieron. La verdad, siempre me han sacado de apuros! Se por supuesto que no se tiene un Foro-Center tipo Call-center en donde esta mi apreciado Casimiro Notevi etc, esperando que un ignorante como yo postee para responder! jaja me causo gracia y quise comentarlo. Se bien que un foro es foro, no el chat de FaceBook ni mucho menos Twitter y tampoco messenger pero me causo gracia lo anterior.
Por todas las veces que me salvan el pellejo (que feo pero me cubre del frio todavia) Gracias! |
Gracias por responder!
Hola marcoszorrilla, gracias por responder. Ahora busco alguna referencia.
|
Encontre esto y me parece que es lo que necesito
Bueno encontre esto, me dirás si es lo que yo mismo deseo y a lo que te referías:
Marqué el área que creo que me indicas arriba, esa sería la forma de declararlo? Voy a probarlo y comento! |
Excelente marcoszorrilla!
Me has ayudado a resolver mi problema.
Observa:
Y vualla! ahora salta un mensaje diciendo que esta violando un "check". Una pregunta más: Si necesito cambiar este valor en el futuro, como seria? Debo primero hacer algo como:
o sólo con darle:
Como sería? Busque pero no encontré nada?! Voy a intentar hacerlo y posteo... |
No puedo modificar el check creado... (help me)
Hola amigos;
Bueno pues he creado con la ayuda de marcoszorrilla la famosa restricción, empero no logro modificarla y mucho menos borrarla! ya intente usar "REMOVE" en vez de "ADD" y también intenté darle:
Como sobreescribiendo el anterior CHECK pero no me funcionó, ¿alguna idea? |
Ya lo logré!
Hola amigos:
Como no todos nacemos sabiendo, logre eliminar el check de esta manera: Primero cometia el error de ingresar el valor fuera del check. Y este de decia: Código:
Opèration violates CHECK constraint INTEG_10 on view or table EJEMPLO
Y listo! lo único es que no se porque Interbase asigna el "INTEG_10" y si creo otra restricción "check" crea "INTEG_11", ¿no se puede personalizar este nombre para poder borrarlo sin tener que disparar la excepción? |
Hola Diego.
Cita:
De ese modo luego podrás hacer:
Saludos. Edito: Donde, CHECK_0_6 será el alias de la restricción. |
A mí me gusta hacer estas cosas mediante un dominio, ejemplo:
|
Gracias amigos, ahora veo
Cita:
|
Gracias Casimiro
Cita:
|
Un dominio es más bien como un "alias", yo solo uso dominios, nunca declaro un campo por su tipo.
Por ejemplo, puedes tener un dominio 'domicilio' del tipo varchar(32) y en los campos declaras el dominio en lugar del tipo, entonces si un día quieres cambiar a varchar(64), sólo has de cambiar el dominio y automáticamente tendrás todos los campos de todas las tablas que usen el dominio 'domicilio' cambiadas a varchar(64). Ejemplo, te pego un trozo de un script de creación de una BD:
|
Cita:
Gracias. |
De todas formas, debes tener cuidado, por ejemplo, si tienes un campo con dominio varchar(32) y le cambias a un dominio integer, si tiene datos, firebird se quejará... y con razón :)
|
Muchas gracias por sus respuestas
Cita:
Ok, gracias amigos quedo totalmente satisfecho con la ayuda recibida!. Muchas gracias y hasta pronto! |
La franja horaria es GMT +2. Ahora son las 02:08:03. |
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