![]() |
¿Codigo mal?
Quiero crear la siguiente tabla en una BD Interbase con el editor SQL del IB expert:
CREATE TABLE TALLER ( FICHA_NUMERO INTEGER PRIMARY KEY, FECHA_ENTRADA DATE, FECHA_SALIDA DATE, FECHA_FAB_APARATO DATE, FECHA_VENTA_APARATO DATE, NUM_SERIE_APARATO VARCHAR(50), COMENTARIO_APARATO VARCHAR(1000), COMENTARIO_CLIENTE VARCHAR(1000), COMENTARIO_PRESUPUESTO VARCHAR(1000), COMENTARIO_REPARACION VARCHAR(1000), COMENTARIO_ACCESORIOS VARCHAR(1000), IMPORTE_REPARACION DECIMAL, GARANTIA VARCHAR(1), PRESUPUESTO VARCHAR(1), ACEPTADO VARCHAR(1), ID_APARATO INTEGER REFERENCES APARATOS(ID_APARATO), NIF CHAR(17) REFERENCES CLIENTES(NIF) ); pero me da este error: This operation is not defined for system tables. unsuccessful metadata update. Column: FICHA_NUMERO not defined as NOT NULL - cannot be used in PRIMARY KEY/UNIQUE constraint definition. por cierto los varchar(1) me gustaria que fuesen campos boleanos e importe_reparacion moneda (euros) pero no se que tipos de datos usar. Gracias y un saludo. |
Lo que te está diciendo es que para ser Primary Key tiene que ser declarada como "Not Null", ya que una clave primaria no puede admitir nulos.
En cuanto altipo de campo para los booleanos como interbase no contempla este tipo de datos con un Varchar(1) puede valer por ejemplo que solo admita T y F o V y F Un Saludo. |
ok tiu, muchisimas gracias, me has salvado la vida :). y lo del campo en euros, es decir un campo con decimales, creo que tiene tipo decimal, pero como hago para decirle que solo quiero dos decimales o eso lo hago luego en el delphi.
|
Tienes que crear un dominio y luego asocias el campo a dicho dominio.
Código:
CREATE DOMAIN Euros AS |
muchisimas gracias de nuevo
|
ah y por ultimo y ya no molesto mas, hice un generador para que el campo id_aparato de la tabla aparato sea atonumerico y en el ib expert si que me funciona me lo genera y me lo pone en la fila cuando creo un nuevo registro pero luego en delphi por ejemplo un dbtable, cuando cubro un nuevo registro no me actualiza el campo id_aparato y por tanto luego cuando qquiero guardar el reistro me dice que no puede conetener un valor vacio
|
La franja horaria es GMT +2. Ahora son las 12:45:47. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi