Validar

05/01/2008 - 01:16 por Edwin Rivera | Informe spam
Hola tengo este tabla en una base de datos
CREATE TABLE [dbo].[Depreciacion] (
[Annio] [char] (4) ,
[AntMinimo] tinyint,
[AntMaximo] tinyint,
[Valor] tinyint
) ON [PRIMARY]
GO
INSERT INTO [dbo].[Depreciacion] VALUES ('2004','0','5','0')
INSERT INTO [dbo].[Depreciacion] VALUES ('2004','10','0')
INSERT INTO [dbo].[Depreciacion] VALUES ('2004','11','15','3')
INSERT INTO [dbo].[Depreciacion] VALUES ('2004','16','20','6')
INSERT INTO [dbo].[Depreciacion] VALUES ('2004','21','25','9')
INSERT INTO [dbo].[Depreciacion] VALUES ('2004','26','30','12')
INSERT INTO [dbo].[Depreciacion] VALUES ('2004','31','35','15')
INSERT INTO [dbo].[Depreciacion] VALUES ('2004','36','40','18')

mi pregunta es al momento de ingresar en los campo [AntMinimo] y [AntMaximo]
me debe de validar si ya existe los valores por ejemplo
INSERT INTO [dbo].[Depreciacion] VALUES ('2004','2','4','0') 'existe no
me debe premitir guardar
INSERT INTO [dbo].[Depreciacion] VALUES ('2004','2','9','6') 'existe no
me debe premitir guardar
INSERT INTO [dbo].[Depreciacion] VALUES ('2004','26','30','6') 'existe no
me debe premitir guardar

INSERT INTO [dbo].[Depreciacion] VALUES ('2004','41','45','18') ' no existe
si me permite guardar
espero que me entienda la pregunta que les hago
y gracias por su pronta respuesta
 

Leer las respuestas

#1 Alejandro Mesa
05/01/2008 - 02:39 | Informe spam
Edwin Rivera,

Puedes usar una restriccion de unicicdad por las tres columnas (Annio,
AntMinimo, AntMaximo).

CREATE TABLE [dbo].[Depreciacion] (
[Annio] [char] (4) ,
[AntMinimo] tinyint,
[AntMaximo] tinyint,
[Valor] tinyint,
constraint UQ_Depreciacion unique (Annio, AntMinimo, AntMaximo)
) ON [PRIMARY]

Cuando trates de insertar una tupla existente, SQL Server dara error.

AMB

"Edwin Rivera" wrote:

Hola tengo este tabla en una base de datos
CREATE TABLE [dbo].[Depreciacion] (
[Annio] [char] (4) ,
[AntMinimo] tinyint,
[AntMaximo] tinyint,
[Valor] tinyint
) ON [PRIMARY]
GO
INSERT INTO [dbo].[Depreciacion] VALUES ('2004','0','5','0')
INSERT INTO [dbo].[Depreciacion] VALUES ('2004','10','0')
INSERT INTO [dbo].[Depreciacion] VALUES ('2004','11','15','3')
INSERT INTO [dbo].[Depreciacion] VALUES ('2004','16','20','6')
INSERT INTO [dbo].[Depreciacion] VALUES ('2004','21','25','9')
INSERT INTO [dbo].[Depreciacion] VALUES ('2004','26','30','12')
INSERT INTO [dbo].[Depreciacion] VALUES ('2004','31','35','15')
INSERT INTO [dbo].[Depreciacion] VALUES ('2004','36','40','18')

mi pregunta es al momento de ingresar en los campo [AntMinimo] y [AntMaximo]
me debe de validar si ya existe los valores por ejemplo
INSERT INTO [dbo].[Depreciacion] VALUES ('2004','2','4','0') 'existe no
me debe premitir guardar
INSERT INTO [dbo].[Depreciacion] VALUES ('2004','2','9','6') 'existe no
me debe premitir guardar
INSERT INTO [dbo].[Depreciacion] VALUES ('2004','26','30','6') 'existe no
me debe premitir guardar

INSERT INTO [dbo].[Depreciacion] VALUES ('2004','41','45','18') ' no existe
si me permite guardar
espero que me entienda la pregunta que les hago
y gracias por su pronta respuesta

Preguntas similares