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 |
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. |
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 |
En las propiedades de la tabla cambia las propiedades ReadOnly a True y Required a False
|
La franja horaria es GMT +2. Ahora son las 23:48:36. |
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