Primer problema:
Un profesor guarda algunos datos de sus alumnos en una tabla llamada "alumnos".
1- Elimine la tabla si existe y créela con la siguiente estructura:
if object_id('alumnos') is not null
drop table alumnos;
create table alumnos(
legajo char(5) not null,
documento char(8) not null,
apellido varchar(30),
nombre varchar(30),
notafinal decimal(4,2)
);
2- Cree un índice no agrupado para el campo "apellido".
3- Establezca una restricción "primary" para el campo "legajo" y especifique que cree un índice
"agrupado".
4- Vea la información que muestra "sp_helpindex":
exec sp_helpindex alumnos;
5- Intente eliminar el índice "PK_alumnos_legajo" con "drop index":
drop index PK_alumnos_legajo;
No se puede.
6- Intente eliminar el índice "I_alumnos_apellido" sin especificar el nombre de la tabla:
drop index I_alumnos_apellido;
Mensaje de error.
7- Elimine el índice "I_alumnos_apellido" especificando el nombre de la tabla.
8- Verifique que se eliminó:
exec sp_helpindex alumnos;
9- Solicite que se elimine el índice "I_alumnos_apellido" si existe:
if exists (select name from sysindexes
where name = 'I_alumnos_apellido')
drop index alumnos.I_alumnos_apellido;
10- Elimine el índice "PK_alumnos_legajo" (quite la restricción).
11- Verifique que el índice "PK_alumnos_legajo" ya no existe:
exec sp_helpindex alumnos;
Ver solución
if object_id('alumnos') is not null
drop table alumnos;
create table alumnos(
legajo char(5) not null,
documento char(8) not null,
apellido varchar(30),
nombre varchar(30),
notafinal decimal(4,2)
);
create nonclustered index I_alumnos_apellido
on alumnos(apellido);
alter table alumnos
add constraint PK_alumnos_legajo
primary key clustered (legajo);
exec sp_helpindex alumnos;
drop index PK_alumnos_legajo;
drop index I_alumnos_apellido;
drop index alumnos.I_alumnos_apellido;
exec sp_helpindex alumnos;
if exists (select name from sysindexes
where name = 'I_alumnos_apellido')
drop index alumnos.I_alumnos_apellido;
alter table alumnos
drop PK_alumnos_legajo;
exec sp_helpindex alumnos;