Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-12-2007
ebeltete ebeltete is offline
Miembro
 
Registrado: may 2003
Posts: 236
Poder: 22
ebeltete Va por buen camino
Crear Llave Primaria

Hola amigos, estoy trabajando con Firebird 2.0 y Delphi 5, estoy tratando de crear una llave primaria en una tabla con:
ALTER TABLE mitabla add constraint pk_codigo primary key(id_codigo)
Me da este error:
validation error for column ID_CODIGO, value "*** null ***"
Supongo es que tiene que ser not null el campo id_codigo
mi pregunta es la sentencia para cambairlo a not null?
Ademas tengo otras preguntas:

1- se puede cambiar el nombre a un campo?
2- Donde puedo encontrar las sintaxis para cambiar , agregar, borrar campos, constraints, indexes, etc?

Gracias.
Responder Con Cita
  #2  
Antiguo 07-12-2007
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
Hola ebeltete!

Código:
validation error for column ID_CODIGO, value "*** null ***"
Este error más bien parece que surge al validar los datos y no en la estructura de la tabla. Antes de crear la llave primaria verifica que todos los registros contengan un valor en la columna ID_CODIGO. Es decir, si algún registro es nulo en esa columna no puedes crear una llave primaria.

Saludos
Responder Con Cita
  #3  
Antiguo 07-12-2007
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Poder: 17
hecospina Va por buen camino
hola
No recuerdo el hilo pero en alguno de ellos coloque un link que te lleva a un manual de Interbase

Para modificar tablas puedes usar :

MODIFICANDO UNA TABLA. ALTER TABLE :
Se utiliza para modificar la estructura de una tabla existente, el comando ALTER TABLE permite:
·Agregar una nueva columna a la tabla.
·Eliminar una columna de la tabla.
·Borrar Constraint de Integridad de la tabla.
Antes de ir a alterar una tabla es necesario asegurarse de tener:
·Privilegios en la base de datos.
·Eliminar los constraints a nivel de columnas.
·Grabar los datos existentes.
ALTER TABLE le permite hacer los siguientes cambios a nivel de columnas:
·Agregar nuevas definiciones de columnas
·Agregar nuevos Constraints a la Tabla.
·Eliminar definiciones de columnas existentes.
·Eliminar constraints de tablas existentes.
1. AGREGANDO NUEVAS COLUMNAS: La sintaxis para agregar una nueva columna es:
ALTER TABLE tabla ADD <definición de columna>
< definición de columna > = columna { <tipo de dato> | [COMPUTED [BY] (< Expresión>) | dominio}
[DEFAULT { literal | NULL | USER}]
[NOT NULL] [ <col_constraint>]
[COLLATE collation]
<col_constraint> = [CONSTRAINT constraint] <constraint_def>
[ <col_constraint>]
Ejemplo práctico :
ALTER TABLE EJEMPLO ADD EMP_NO EMPNO NOT NULL;
2. AGREGANDO NUEVOS CONSTRAINTS : La sintaxis para agregar un constraint es :
ALTER TABLE nombre ADD [CONSTRAINT constraint] <tconstraint_opt>;
Ejemplo :
ALTER TABLE EMPLOYEE
ADD CONSTRAINT DEPT_NO UNIQUE(PHONE_EXT);
3. ELIMINANDO UNA COLUMNA : La sintaxis para la eliminación es :
ALTER TABLE nombre DROP nombre columna [,nombre columna...];
Ejemplo :
ALTER TABLE EMPLOYEE
DROP EMP_NO,
DROP FULL_NAME;
4. BORRANDO LOS CONSTRAINTS: Los constraints deben de ser borrados con el orden apropiado. Por ejemplo si se va a borrar un constraint de PRIMARY KEY, debe de ser borrado el constraint de FOREIGNT KEY.
Ejemplo :
ALTER TABLE VENTAS_DETALLE
DROP CONSTRAINT INTER_37;
ALTER TABLE VENTAS
DROP CONSTRAINT INTEG_32;
BORRANDO UNA TABLA. DROP TABLE :
Se utiliza para borrar una tabla existente de la base de datos. Se debe utilizar para borrar datos, METADATOS e índices de la base de datos. Borra cualquier TRIGGER relacionado con la tabla.
Esta operación de borrado puede dar problemas, aquí hemos recopilado algunos casos:
·La persona que esta borrando la tabla no es un usuario con privilegios.
·La tabla esta en uso, el borrado espera hasta que se desocupe.
·La tabla tiene llave primaria o única y esta referenciada en otra tabla como foránea; hay que borrar la llave foránea.
·La tabla es utilizada en una vista, columna calculada, procedimiento, etc., borre todas las referencias.
La sintaxis es .
DROP TABLE nombre;
Ejemplo :
DROP TABLE VENTAS;

Esto es extractado de este manual

Lo que dice Héctor sobre los campos nulos es correcto
Tampoco puede terner valores repetidos para esta columna
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
De la mochila a la llave USB marcoszorrilla La Taberna 2 15-10-2007 04:59:58
Llave primaria repetida Coco_jac Varios 5 29-08-2007 23:48:12
generar llave gsilvei Varios 4 09-12-2006 00:18:44
crear una llave alfanumerica con un generador reina SQL 3 17-08-2005 19:49:44
Llave de dos campos jovehe Tablas planas 3 30-09-2004 07:42:52


La franja horaria es GMT +2. Ahora son las 19:20:52.


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
Copyright 1996-2007 Club Delphi