52 - Información de restricciones (sp_helpconstraint)


Problema:

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.




Retornar