Comprobar a traves de constraint

04/06/2009 - 19:25 por jcac | Informe spam
Hola lista,

Una consulta tengo una tabla donde tengo la siguiente estructura (trabajo
con sql server 2000):

create table VersionesxFormula(
DIVI_Codigo int not null,
FORM_Codigo int not null,
VEFO_Codigo int not null,
VEFO_Activa bit,
constraint PK_VersionesxFormula primary key (DIVI_Codigo, FORM_Codigo,
VEFO_Codigo))

segun esta tabla puedo varios registros que tengan los siguientes datos:

insert into versionesxformulas
select 1,1,1,1
union all
select 1,1,2,0
union all
select 1,1,3,1
union all
select 1,1,4,1

la idea es que si insertara un registro mas como por ejemplo:

insert into versionesxformulas
select 1,1,5,0

al colocarle 0 en el campo de VEFO_Activa me indique que no se puede debido
a que ya existe un registro que pertenece la misma DIVI_Codigo, FORM_Codigo
y VEFO_Codigo.

esto como lo podria controlar con un constraint o no es lo mas indicado.

Saludos

Juan Carlos
 

Leer las respuestas

#1 Alejandro Mesa
05/06/2009 - 00:23 | Informe spam
Juan Carlos,

la idea es que si insertara un registro mas como por ejemplo:

insert into versionesxformulas
select 1,1,5,0

al colocarle 0 en el campo de VEFO_Activa me indique que no se puede debido
a que ya existe un registro que pertenece la misma DIVI_Codigo, FORM_Codigo
y VEFO_Codigo.



No entiendo muy bien lo que planteas. Por que dices que existe ya una fila
con ese valor de (DIVI_Codigo, FORM_Codigo, VEFO_Codigo)?

DIVI_Codigo = 1
FORM_Codigo = 1
VEFO_Codigo = 5

Yo no veo una fila con [VEFO_Codigo] = 5, excepto la que se esta insertando.

Puedes ampliar un poco mas lo que deseas hacer?


AMB


"jcac" wrote:

Hola lista,

Una consulta tengo una tabla donde tengo la siguiente estructura (trabajo
con sql server 2000):

create table VersionesxFormula(
DIVI_Codigo int not null,
FORM_Codigo int not null,
VEFO_Codigo int not null,
VEFO_Activa bit,
constraint PK_VersionesxFormula primary key (DIVI_Codigo, FORM_Codigo,
VEFO_Codigo))

segun esta tabla puedo varios registros que tengan los siguientes datos:

insert into versionesxformulas
select 1,1,1,1
union all
select 1,1,2,0
union all
select 1,1,3,1
union all
select 1,1,4,1

la idea es que si insertara un registro mas como por ejemplo:

insert into versionesxformulas
select 1,1,5,0

al colocarle 0 en el campo de VEFO_Activa me indique que no se puede debido
a que ya existe un registro que pertenece la misma DIVI_Codigo, FORM_Codigo
y VEFO_Codigo.

esto como lo podria controlar con un constraint o no es lo mas indicado.

Saludos

Juan Carlos



Preguntas similares