52 - Información de restricciones (sp_helpconstraint) |
Trabajamos con la tabla "alumnos".
Eliminamos la tabla, si existe:
if object_id('alumnos') is not null drop table alumnos;
Creamos la tabla:
create table alumnos( legajo char(4) not null, apellido varchar(20), nombre varchar(20), documento char(8), domicilio varchar(30), ciudad varchar(30), notafinal decimal(4,2) );
Agregamos una restricción "primary" para el campo "legajo":
alter table alumnos add constraint PK_alumnos_legajo primary key(legajo);
Agregamos una restricción "unique" para el campo "documento":
alter table alumnos add constraint UQ_alumnos_documento unique (documento);
Agregamos una restricción "check" para que el campo "notafinal" admita solamente valores entre 0 y 10:
alter table alumnos add constraint CK_alumnos_nota check (notafinal>=0 and notafinal<=10);
Agregamos una restricción "default" para el campo "ciudad":
alter table alumnos add constraint DF_alumnos_ciudad default 'Cordoba' for ciudad;
Veamos las restricciones:
sp_helpconstraint alumnos;
Aparece la siguiente información:
constraint_type constraint_name status_enabled constraint_keys ------------------------------------------------------------------------------------------- CHECK on column notafinal CK_alumos_nota Enabled ([notafinal]>=0 and [notafinal<=10]) DEFAULT on column ciudad DF_alumnos_ciudad (n/a) ('Cordoba') PRIMARY KEY (clustered) PK_alumnos_legajo (n/a) legajo UNIQUE (NON-clustered) UQ_alumnos_documento (n/a) documento
Deshabilitamos la restricción "check":
alter table alumnos nocheck constraint CK_alumnos_nota;
Veamos la información que nos retorna "sp_helpconstraint":
sp_helpconstraint alumnos;
constraint_type constraint_name status_enabled constraint_keys ------------------------------------------------------------------------------------------ CHECK on column notafinal CK_alumos_nota Disabled ([notafinal]>=0...
Note que la restricción esta deshabilitada.