FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Interbase 6.5 Campo LLave Sin la restriccion "NOT NULL" se puede??
Interbase 6.5 Campo LLave Sin la restriccion "NOT NULL" se puede??
Creo la DB y las tablas con IBExpert En una tabla "almacenes" tengo 2 campos id_almacen Descripcion el id_almacen lo tengo como PrimaryKey pero para esto tuve que activarle la restriccion de "NOT NULL", y despues de que ya se creo la tabla , entro en el campo id_almacen y le DESACTIVO EL "NOT NULL" Y NO ME DA NINGUN ERROR, HABRA ALGUN PROBLEMA POSTERIOR???? POR QUE LO HICE: Resulta q el id_almacen es un campo autoincrementable por medio de un generador y un trigger q se ejecuta antes de insertar los cuales funcionan correctamente, PERO EN UNA APLIACION CON DELPHI 7 CUANDO CAPTURA UN REGISTRO NUEVO EN ALMACENES , NO LE DOY VALOR MANUALMENTE AL ID_ALMACEN Y SOLO SE LO DOY A DESCRIPCION. SI LA TABLA TIENE ACTIVADA EL "NOT NULL" DESPUES DE DAR EL DM01.SD_Almacenes.Post; DM01.SD_Almacenes.ApplyUpdates(-1); ME DA EL SIGUIENTE ERROR "FIELD VALUE REQUIRED" Y SI LA TABLA NO TIENE ACTIVADA EL "NOR NULL" FUNCIONA PERFECTAMENTE EL GENERADOR ASIGNA EL ID_ALMACEN SIN NINGUN PROBLEMA |
#2
|
|||
|
|||
Hola norberto_larios:
Lo que hago yo (no quiero decir que sea lo más correcto), es crear la tabla como tiene que ser (campo con llave not null), y en el valor de este campo al insertar, poner el valor -1 (o un valor que no sea posible), luego en el triger, compruebo si el valor es -1, entonces lo cambio por el valor del generador. También te puede servir para cuando asignes un valor manualmente, este no te cambie por el valor del generador. |
#3
|
|||
|
|||
Cuando le aprieten o hagan el evento de insercion ponle al campo id := 0 y con eso ya te quitas del problema...
o ponle por DEFAULt 0 Saludos desde Puebla Mexico asanxt@hotmail.com |
#4
|
|||
|
|||
En las propiedades de la tabla cambia las propiedades ReadOnly a True y Required a False
|
|
|
|