Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Eliminar la condición Unique (https://www.clubdelphi.com/foros/showthread.php?t=78318)

Carmelo Cash 09-04-2012 00:33:26

Eliminar la condición Unique
 
Hola Foro:

Necesito eliminar la condición Unique de un campo, en este caso CC_Codigo.

La tabla fué creada con el siguiente Script:

Código SQL [-]
CREATE TABLE CAT_CLIENTES 
(
  ID_CAT_CLIENTE  INTEGER NOT NULL,
  CC_CODIGO  VARCHAR(5) NOT NULL,
  CAT_CLIENTE  VARCHAR(60),
 UNIQUE (CC_CODIGO)
);

Necesito hacer algo parecido a esto

Código SQL [-]
ALTER TABLE CAT_CLIENTES
DROP UNIQUE CC_CODIGO;

por ahora lo que hice fué crear otro campo, parar los valoras y borrar el anterior, se soluciona, pero... no es lo correcto. Desde ya muchas gracias por su tiempo y atención. :)

ecfisa 09-04-2012 05:00:45

Hola Carmelo Cash.

No se con que bd estas trabajando, pero voy a sugerirte algo con Firebird.

Es buena práctica darle un nombre a la restricción, al no haberlo hecho creo que tendrías que buscar el asignado por Firebird, por ejemplo:
Código SQL [-]
SELECT RDB$CONSTRAINT_NAME FROM RDB$RELATION_CONSTRAINTS WHERE RDB$RELATION_NAME = 'CAT_CLIENTES'
Eligiendo el valor obtenido, supongamos que sea INTEG_394, hacer:
Código SQL [-]
ALTER TABLE CAT_CLIENTES DROP CONSTRAINT INTEG_394

Ese problema lo podés evitar dándole un nombre a la restriccion por ejemplo:
Código SQL [-]
CREATE TABLE CAT_CLIENTES (
  ID_CAT_CLIENTE  INTEGER NOT NULL,
  CC_CODIGO  VARCHAR(5) NOT NULL,
  CAT_CLIENTE  VARCHAR(60),
  CONSTRAINT UK_CODIGO UNIQUE(CC_CODIGO)
);
De ese modo sólo tendrías que usar:
Código SQL [-]
ALTER TABLE CAT_CLIENTES DROP CONSTRAINT UK_CODIGO;

Pero esto puede ser diferente en otras bd...


Saludos.


La franja horaria es GMT +2. Ahora son las 03:05:05.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi