Вы находитесь на странице: 1из 14

Ejercicio 10-1

Modificar la tabla EMP definiendo y habilitando en la columna sal un formato


numérico de precisión 7 y escala 2 y la restricción NOT NULL. A continuación,
crear la tabla DEPT1 con campos deptno (numérico de anchura 2), dname
(CHAR de anchura 9) y loc (CHAR de anchura 10) y habilitar como clave única
de nombre unq_dname la columna dname.

ALTER TABLE EMP


ALTER COLUMN SAL NUMERIC(7,2) NOT NULL

CREATE TABLE DEPT1


(
DEPTNO NUMERIC(2),
DNAME CHAR(9),
LOC CHAR(10)
CONSTRAINT UNQ_DNAME UNIQUE(DNAME)
)

Ejercicio 10-2

Crear la tabla dept2 con los mismos campos que la tabla dept1 pero añadiendo
como clave primaria de nombre pk_dept1 el campo dept.

CREATE TABLE DEPT2


(
DEPTNO NUMERIC(2) CONSTRAINT PK_DEPT1 PRIMARY KEY,
DNAME CHAR(9),
LOC CHAR(10)
)

Ejercicio 10-3

Crear la tabla EMP3 con los mismos campos que la tabla EMP, de modo que la
columna deptno tenga como clave externa (de nombre fk_deptno) la clave
primaria deptno de la columna dept de la tabla EMP.

CREATE TABLE EMP3


(
EMPNO NUMERIC(4),
ENAME CHAR(10),
JOB CHAR(9),
MGR NUMERIC(4),
HIREDATE DATETIME,
SAL NUMERIC(7,2),
COMM NUMERIC(7,2),
DEPTNO NUMERIC(2)
CONSTRAINT FK_DEPNO REFERENCES DEPT(DEPTNO)
)

CREATE TABLE EMP4


(
EMPNO NUMERIC(4),
ENAME CHAR(10),
JOB CHAR(9),
MGR NUMERIC(4),
HIREDATE DATETIME,
SAL NUMERIC(7,2),
COMM NUMERIC(7,2),
DEPTNO NUMERIC(2)
CONSTRAINT FK_DEPNO1 PRIMARY KEY (DEPTNO) REFERENCES
DEPT(DEPTNO)
)

CREATE TABLE EMP5


(
EMPNO NUMERIC(4),
ENAME CHAR(10),
JOB CHAR(9),
MGR NUMERIC(4),
HIREDATE DATETIME,
SAL NUMERIC(7,2),
COMM NUMERIC(7,2),
DEPTNO NUMERIC(2) REFERENCES DEPT(DEPTNO)
)

Ejercicio 10-4

Añadir a la tabla EMP3 la clave única compuesta por las dos columnas sal y
comm, nombrando dicha clave mediante unq_sal_comm.

ALTER TABLE EMP3


ADD CONSTRAINT UNQ_SAL_COMM UNIQUE (SAL, COMM)
Ejercicio 10-5

Borrar la tabla EMP5 de la base de datos PRUEBA.

DROP TABLE EMP5

Ejercicio 10-6

En este ejercicio se creará un conjunto de tablas que implementan un sistema


de matrícula de los estudiantes en una universidad.
La primera tabla, de nombre ESTUDIANTES contendrá los campos siguientes:
ID (numérico de anchura de 5 y clave primaria), NOMBRE (carácter de anchura
20), APELLIDO (carácter de 20), ESPECIALIDAS (carácter de 30) y CREDITOS
(numérico).
La segunda tabla, de nombre AULAS, contendrá los campos siguientes: IDAULA
(numérico 5 clave primaria), EDIFICIO (carácter de 15), NUMEROAULA
(numérico 4), NUMEROASIENTOS (numérico 4) y DESCRIPCIONAULA
(carácter 50).
La tercera tabla, de nombre ESPECIALIDADES, contendrá los siguientes
campos: ESPECIALIDAD (carácter 30), TOTALCREDITOS (numérico) y
TOTALESTUDIANTES (numérico).
La cuarta tabla, de nombre CURSOS, contendrá los siguientes campos:
DEPARTAMENTO carácter de tamaño 3, NCURSO (numérico de tamaño 3),
DESC (carácter de tamaño NESTUDIANTES (numérico de anchura 3),
NCREDITOS (numérico de anchura 1) e IDAULA (numérico de anchura 5). En
esta tabla los campos DEPARTAMENTO У NCURSO forman clave única
compuesta y el campo IDAULA clave primaria de la tabla AULA es clave externa
para el campo IDAULA de esta tabla. RIPCIONCURSO 20),
CUPOESTUDIANTES (numérico de anchura 3).
La quinta tabla, de nombre ESTUDIOS, contendrá los campos siguientes:
IDESTUDIANTE (numérico no nulo de anchura 3), DEPARTAMENTO (carácter
no nulo de anchura 3), NCURSO (carácter no nulo de anchura 3) y GRADO
(carácter de anchura 1). En esta tabla se chequea qué grado está entre A y E, y
la clave primaria ID de la tabla ESTUDIANTES es clave externa para el campo
IDESTUDIANTE de esta tabla. Por último, los campos DEPARTAMENTO y
NCURSO que son clave primaria compuesta de la tabla CLASES serán clave
externa compuesta para esta tabla.
La sexta tabla de nombre CAMBIOS, contendrá los siguientes campos: TIPO
(carácter no nulo de tamaño de 1), FECHA (fecha no nula),
ANTIGUOESTUDIANTE (numérico de tamaño 5), ANTIGUODEPARTAMENTO
(carácter 3), RAZON (carácter no nulo de anchura 8), ANTIGUOCURSO
(numérico de tamaño 3), ANTIGUOGRADO (carácter de tamaño 1,
NUEVOIDESTUDIANTE (numérico de tamaño 5), NUEVODEPARTAMENTO
(carácter de tamaño 3), NUEVOCURSO (numérico de tamaño 3) y
NUEVOGRADO (carácter de tamaño 1).
La séptima tabla, de nombre ERRORES, contendrá los siguientes campos:
CODIGO (numérico) MENSAJE (carácter de anchura 200) e INFORMACION
(carácter de anchura 100).
La octava tabla, de nombre TEMPORAL, contendrá los siguientes campos:
COLUMNA NUMÉRICA (numérico) y COLUMNACARACTER (carácter de
anchura 100).
La novena tabla, de nombre DEBUG, contendrá los campos siguientes: NLINEA
(numérico) y TEXTO (carácter de tamaño 100).

CREATE TABLE ESTUDIANTES


(
ID NUMERIC(5) PRIMARY KEY,
NOMBRE CHAR(20),
APELLIDO CHAR(20),
ESPECIALIDAD CHAR(30),
CREDITOS NUMERIC
)

CREATE TABLE AULAS


(
IDAULA NUMERIC (5) PRIMARY KEY,
EDIFICIO CHAR(15),
NUMEROAULA NUMERIC,
NUMEROASIENTOS NUMERIC,
DESCRIPCIONAULA CHAR(50)
)

CREATE TABLE ESPECIALIDADES


(
ESPECIALIDAD CHAR(30),
TOTALCREDITOS NUMERIC,
TOTALESTUDIANTES NUMERIC
)

CREATE TABLE CURSOS


(
DEPARTAMENTO CHAR(3),
NCURSO NUMERIC,
DESCRIPCIONCURSO CHAR(200),
CUPOESTUDIANTES NUMERIC,
NESTUDIANTES NUMERIC,
NCREDITOS NUMERIC,
IDAULA NUMERIC(5),
CONSTRAINT CURSOS_DEPARTAMENTO_NCURSO
PRIMARY KEY (DEPARTAMENTO, NCURSO),
CONSTRAINT CURSOS_IDAULA
FOREIGN KEY (IDAULA) REFERENCES AULAS (IDAULA)
)

CREATE TABLE ESTUDIOS


(
IDESTUDIANTE NUMERIC(5) NOT NULL,
DEPARTAMENTO CHAR(3) NOT NULL,
NCURSO NUMERIC NOT NULL,
GRADO CHAR(1),
CONSTRAINT ESTUDIOS_GRADO
CHECK (GRADO IN ('A','B','C','D','E')),
CONSTRAINT ESTUDIOS_IDESTUDIANTE
FOREIGN KEY (IDESTUDIANTE) REFERENCES ESTUDIANTES (ID),
CONSTRAINT ESTUDIOS_DEPARTAMENTO_NCURSO
FOREIGN KEY (DEPARTAMENTO,NCURSO)
REFERENCES CURSOS (DEPARTAMENTO, NCURSO)
)

CREATE TABLE CAMBIOS


(
TIPO CHAR(1) NOT NULL,
RAZON CHAR(8) NOT NULL,
FECHA DATETIME NOT NULL,
ANTIGUOIDESTUDIANTE NUMERIC(8),
ANTIGUODEPARTAMENTO CHAR(3),
ANTIGUONCURSO NUMERIC(3),
ANTIGUOGRADO CHAR(1),
NUEVOIDESTUDIANTE NUMERIC(5),
NUEVODEPARTAMENTO CHAR(3),
NUEVONCURSO NUMERIC(3),
NUEVOGRADO CHAR(1)
)

CREATE TABLE ERRORES


(
CODIGO NUMERIC,
MENSAJE CHAR(200),
INFORMACION CHAR(100)
)
CREATE TABLE TEMPORAL
(
COLUMNANUMERICA NUMERIC,
COLUMNACARACTER CHAR(60)
)

CREATE TABLE DEBUG


(
NLINEA NUMERIC,
TEXTO CHAR(10)
)

Ejercicio 11-1
Construir mediante lenguaje TRANSACT SQL todas las tablas de la base de
datos ESTUDIANTES analizada en el capitulo 3 y realizar la inserción de sus
registros.

CREATE TABLE DEPARTAMENTO(


DEPT CHAR(4) NOT NULL PRIMARY KEY,
DEDIF CHAR(2) NOT NULL,
DDESPACHO INTEGER NOT NULL,
DCHFNO CHAR(3) NOT NULL
);

INSERT INTO DEPARTAMENTO VALUES ('THEO','HU',200,10);


INSERT INTO DEPARTAMENTO VALUES ('CIS','SC',300,80);
INSERT INTO DEPARTAMENTO VALUES ('D.G.','SC',100,'');
INSERT INTO DEPARTAMENTO VALUES ('PHIL','HU',100,60);

CREATE TABLE CURSO(


CNO CHAR(3) NOT NULL PRIMARY KEY,
CNOMBRE CHAR(22) NOT NULL,
CDESP CHAR(25) NOT NULL,
CRED INTEGER NOT NULL,
CTARIFA NUMERIC NOT NULL,
CDEPT CHAR(4) NOT NULL REFERENCES DEPARTAMENTO (DEPT)
);

INSERT INTO CURSO (CNO,CNOMBRE,CDESP,CRED,CTARIFA,CDEPT)


VALUES ('C11','INTROD. A LAS CC.','PARA NOVATOS',3,100,'CIS');
INSERT INTO CURSO (CNO,CNOMBRE,CDESP,CRED,CTARIFA,CDEPT)
VALUES ('C22','ESRUCT. DE DATOS','MUY UTIL',3,50,'CIS');
INSERT INTO CURSO (CNO,CNOMBRE,CDESP,CRED,CTARIFA,CDEPT)
VALUES ('C33','MATEMATICAS DISCRETAS','ABSOLUTAMENTE
NECESARIO',3,0,'CIS');
INSERT INTO CURSO (CNO,CNOMBRE,CDESP,CRED,CTARIFA,CDEPT)
VALUES ('C44','CIRCUITOS DIGITALES','AH HA!',3,0,'CIS');
INSERT INTO CURSO (CNO,CNOMBRE,CDESP,CRED,CTARIFA,CDEPT)
VALUES ('C55','ARQ. COMPUTADORES','VON NEUMAN',3,100,'CIS');
INSERT INTO CURSO (CNO,CNOMBRE,CDESP,CRED,CTARIFA,CDEPT)
VALUES ('C66','BD RELACIONALES','IMPRESCINDIBLE',3,500,'CIS');
INSERT INTO CURSO (CNO,CNOMBRE,CDESP,CRED,CTARIFA,CDEPT)
VALUES ('P11','EMPIRISMO','VERLO PARA CREERLO',3,100,'PHIL');
INSERT INTO CURSO (CNO,CNOMBRE,CDESP,CRED,CTARIFA,CDEPT)
VALUES ('P22','RACIONALISMO','PARA USARLOS CIS',3,50,'PHIL');
INSERT INTO CURSO (CNO,CNOMBRE,CDESP,CRED,CTARIFA,CDEPT)
VALUES ('P33','EXISTENCIALISMO','PARA USARLOS CIS',3,200,'PHIL');
INSERT INTO CURSO (CNO,CNOMBRE,CDESP,CRED,CTARIFA,CDEPT)
VALUES ('P44','SOLIPSISMO','PARA MI MISMO',6,0,'PHIL');
INSERT INTO CURSO (CNO,CNOMBRE,CDESP,CRED,CTARIFA,CDEPT)
VALUES ('T11','ESCOLASTICISMO','PARA BEATOS',3,150,'THEO');
INSERT INTO CURSO (CNO,CNOMBRE,CDESP,CRED,CTARIFA,CDEPT)
VALUES ('T12','FUNDAMENTALISMO','PARA DESCUIDADOS',3,90,'THEO');
INSERT INTO CURSO (CNO,CNOMBRE,CDESP,CRED,CTARIFA,CDEPT)
VALUES ('T33','HEDONISMO','PARA SANOS',3,0,'THEO');
INSERT INTO CURSO (CNO,CNOMBRE,CDESP,CRED,CTARIFA,CDEPT)
VALUES ('T44','COMUNISMO','PARA AVAROS',6,200,'THEO');

CREATE TABLE CLAUSTRO


(
FNO CHAR(3) NOT NULL PRIMARY KEY,
FNOMBRE CHAR(15) NOT NULL,
FDOMI CHAR(20) NOT NULL,
FFCANTI DATETIME NOT NULL,
FNUMDEP INTEGER,
FSUELDO NUMERIC NOT NULL,
FDEPT CHAR(4) NOT NULL REFERENCES DEPARTAMENTO(DEPT)
);

INSERT INTO CLAUSTRO VALUES('06','KATHY PEPE','CALLE LA PIEDRA,


7','15-01-1979',2,35000,'PHIL');
INSERT INTO CLAUSTRO VALUES('10','JESSIE MARTIN','DR. DEL ESTE,
4','01-09-1969',2,45000,'THEO');
INSERT INTO CLAUSTRO VALUES('08','JOSE COHN','AP. CORREOS
1138','09-07-1979',2,35000,'CIS');
INSERT INTO CLAUSTRO VALUES('85','AL HARTLEY','CALLE DE LA
PLATA','05-09-1979',7,45000,'CIS');
INSERT INTO CLAUSTRO VALUES('60','JULIA MARTIN','DR. DEL ESTE,
4','01-09-1969',1,45000,'PHIL');
INSERT INTO CLAUSTRO VALUES('65','LISA BOBAK','CAMINO RISA, 77','06-
09-1981',0,36000,'THEO');
INSERT INTO CLAUSTRO VALUES('80','BARB HLAVATY','CALLE DEL SUR,
489','16-01-1982',3,35000,'CIS');

CREATE TABLE CLASE (


CNO CHAR(3) NOT NULL REFERENCES CURSO (CNO),
SEC CHAR(2) NOT NULL,
CINSTRFNO CHAR(2) NOT NULL,
CDIA CHAR(2) NOT NULL,
CHORA CHAR(14) NOT NULL,
CEDIF CHAR(2) NOT NULL,
CDESPACHO INTEGER NOT NULL,
CONSTRAINT CLASE_CNO_SEC PRIMARY KEY (CNO, SEC)
);

INSERT INTO CLASE VALUES ('C11','01','08','LU','08:00-09:00 AM','SC',305);


INSERT INTO CLASE VALUES ('C11','02','08','MA','08:00-09:00 AM','SC',306);
INSERT INTO CLASE VALUES ('C33','01','80','MI','09:00-10:00 AM','SC',305);
INSERT INTO CLASE VALUES ('C55','01','85','JU','11:00-12:00 AM','HU',306);
INSERT INTO CLASE VALUES ('P11','01','06','JU','09:00-10:00 AM','HU',102);
INSERT INTO CLASE VALUES ('P33','01','06','VI','11:00-12:00 AM','HU',201);
INSERT INTO CLASE VALUES ('T11','01','10','LU','10:00-11:00 AM','HU',101);
INSERT INTO CLASE VALUES ('T11','02','65','LU','10:00-11:00 AM','HU',102);
INSERT INTO CLASE VALUES ('T33','01','65','MI','11:00-12:00 AM','HU',101);

CREATE TABLE ESTUDIANTE(


SNO CHAR(3) NOT NULL PRIMARY KEY,
SNOMBRE CHAR(30) NOT NULL,
SDOMI CHAR(15) NOT NULL,
STLFNO CHAR(12) NOT NULL,
SFNACIM CHAR(6) NOT NULL,
SIQ INTEGER NOT NULL,
SADVFNO CHAR(3) NOT NULL,
SESP CHAR(4) NOT NULL REFERENCES DEPARTAMENTO(DEPT)
);

INSERT INTO ESTUDIANTE VALUES('325','CURLEY


DUBAY','CONNECTICUT','203-123-4567','780517',122,'10','THEO');
INSERT INTO ESTUDIANTE VALUES('150','LARRY
DUBAY','CONNECTICUT','203-123-4567','780517',121,'80','CIS');
INSERT INTO ESTUDIANTE VALUES('100','MOE
DUBAY','CONNECTICUT','203-123-4567','780517',120,'10','THEO');
INSERT INTO ESTUDIANTE VALUES('800','ROCKY
BALBOA','PENSYLVANIA','112-112-1122','461004',99,'60','PHIL');

CREATE TABLE MATRICULA(


CNO CHAR(3) NOT NULL,
SEC CHAR(2) NOT NULL,
SNO CHAR(3) NOT NULL REFERENCES ESTUDIANTE (SNO),
FECHA_MAT DATETIME NOT NULL,
HORA_MAT CHAR(10) NOT NULL
CONSTRAINT MATRICULA_CNO_SEC_SNO PRIMARY KEY (CNO, SEC,
SNO)
);

INSERT INTO MATRICULA VALUES('C11','01','325','04-01-1987','09.41.30');


INSERT INTO MATRICULA VALUES('C11','01','800','15-12-1987','11.49.00');
INSERT INTO MATRICULA VALUES('C11','02','100','17-12-1987','09.32.00');
INSERT INTO MATRICULA VALUES('C11','02','150','17-12-1987','09.32.30');
INSERT INTO MATRICULA VALUES('P33','01','100','23-12-1987','11.30.00');
INSERT INTO MATRICULA VALUES('P33','01','800','23-12-1987','11.23.00');
INSERT INTO MATRICULA VALUES('T11','01','100','23-12-1987','11.21.00');
INSERT INTO MATRICULA VALUES('T11','01','150','15-12-1987','11.35.30');
INSERT INTO MATRICULA VALUES('T11','01','800','15-12-1987','14.00.00');

CREATE TABLE PERSONAL


(
ENOMBRE CHAR(15) NOT NULL PRIMARY KEY,
CARGO CHAR(10) NOT NULL,
ESUELDO INTEGER NOT NULL,
DEPT CHAR(4)
);

INSERT INTO PERSONAL VALUES('LUCAS','EVANG1',53,'THEO');


INSERT INTO PERSONAL VALUES('MARCOS','EVANG2',52,'THEO');
INSERT INTO PERSONAL VALUES('MATEO','EVANG3',51,'THEO');
INSERT INTO PERSONAL VALUES('DICK NIX','LADRON',25001,'PHIL');
INSERT INTO PERSONAL VALUES('HANK KISS','BUFON',25000,'PHIL');
INSERT INTO PERSONAL VALUES('JUAN','EVANG4',54,'THEO');
INSERT INTO PERSONAL VALUES('EUCLIDES','AYTE.LAB.',1000,'MATH');
INSERT INTO PERSONAL VALUES('ARQUIMEDES','AYTE.LAB.',200,'ENG');
INSERT INTO PERSONAL VALUES('DAVINCI','AYTE.LAB.',500,' ');

Ejercicio 11-2
Añadir como nuevo vendedor en la tabla REPVENTAS a Henry Jacobsen de 36
años, con numero de empleado 12, como director de ventas (108) con contrato
fechado de 25 de julio de 1990 y con oficina de representación número 13.

INSERT INTO REPVENTAS(NUM_EMPL, NOMBRE, EDAD, OFICINA_REP,


TITULO, CONTRATO, DIRECTOR, CUOTA, VENTAS)
VALUES(12,'HENRY JACOBSSEN', 36,13,'DIR VENTAS','26-07-
1990',108,0.00)
Ejercicio 11-3
Insertar como nuevo cliente del Sr. Jacobsen la empresa INTERCORP con
numero de cliente 2127 con un límite de crédito de 15000 y con un numero de
empleado que atiende al cliente de 112. Insertar también un nuevo pedido para
el señor Jacobsen por importe de 2340, del fabricante ACI, con numero de
producto 41004, compuesto por 20 unidades y pedido en la fecha actual con
numero de pedido 113070.

INSERT INTO CLIENTES (EMPRESA, NUM_CLIE, LIMITE_CREDITO,


REPCLIE)
VALUES ('INTERCORP',2127,15000,112);

INSERT INTO PEDIDOS (IMPORTE, FAB, PRODUCTO, CANT,


FECHA_PEDIDO, NUM_PEDIDO, CLIE, REP)
VALUES(2340, 'ANCI','41001',20, GETDATE(), 113070, 2127, 108)

Ejercicio 11-4
Copiar el numero de pedido, la fecha y el importe de todos los pedidos remitidos
con anterioridad al 1 de enero de 1990, a partir de la tabla PEDIDOS en otra
tabla de nombre ANPEDIDOS y que previamente debe ser creada.

CREATE TABLE ANTPEDIDOS


(
NUM_PEDIDO NUMERIC,
FECHA_PEDIDO DATETIME,
IMPORTE NUMERIC
);

INSERT INTO ANTPEDIDOS (NUM_PEDIDO, FECHA_PEDIDO, IMPORTE)


SELECT NUM_PEDIDO, FECHA_PEDIDO, IMPORTE FROM PEDIDOS
WHERE FECHA_PEDIDO <'01-01-1990'

Ejercicio 11-5
Supongamos que se desean analizar los patrones de compra de los clientes
examinando que clientes y que vendedores son responsables de los grandes
pedidos (los que superan las 15000 unidades monetarias). Para ello se crea una
tabla de nombre granpedidos1 que contenga los campos: importe, empresa,
nombre, rend, fab, producto y cant, ya existentes en las tablas clientes,
repventas, pedidos y oficinas. Presentar y ejecutar la sintaxis sql que realiza la
creación de la tabla granpedidos1 y la inserción de la información en ella a partir
del contenido de las tablas clientes, repventas, pedidos y oficinas.

CREATE TABLE GRANDESPEDIDOS


(
IMPORTE NUMERIC,
EMPRESA CHAR(20),
NOMBRE CHAR(20),
REND NUMERIC,
PRODUCTO CHAR(20),
DIR NUMERIC,
CANT NUMERIC
);

INSERT INTO GRANDESPEDIDOS (IMPORTE, EMPRESA, NOMBRE, REND,


PRODUCTO, DIR, CANT)
SELECT IMPORTE, EMPRESA, NOMBRE, REPVENTAS.VENTAS-CUOTA AS
[REND I], PRODUCTO,
DIR, CANT FROM PEDIDOS, CLIENTES, REPVENTAS, OFICINAS
WHERE CLIE = NUM_CLIE AND REP = NUM_EMPL AND IMPORTE > 15000

Ejercicio 11-6
Eliminar de la tabla repventas toda la información relativa a Henry Jacobsen.
Eliminar también de la tabla pedidos todos los pedidos del numero de cliente
2127 y suprimir de esta misma tabla los pedidos permitidos antes del 15 de
noviembre de 1999.

DELETE FROM REPVENTAS


WHERE NOMBRE = 'HENRY JACOBSEN'

DELETE FROM PEDIDOS


WHERE CLIE = 2127

DELETE FROM PEDIDOS


WHERE FECHA_PEDIDO < '15-11-1999'

Ejercicio 11-7
Eliminar las filas correspondientes a los clientes atendidos por los representantes
de ventas 105, 109, 101. Suprimir también todos los vendedores contratados
antes de julio de 1988 a los que aun no se les ha asignado una cuota.
DELETE FROM CLIENTES
WHERE REPCLIE IN (105, 109, 101)

DELETE FROM REPVENTAS


WHERE CONTRATO < '30-06-1988' AND CUOTA IS NULL

Ejercicio 11-8
Suprimir los clientes atendidos por vendedores cuyas ventas son inferiores al
80% de su cuota.
DELETE FROM CLIENTES
WHERE REPCLIE IN (SELECT NUM_EMPL
FROM REPVENTAS WHERE VENTAS < (0.8*CUOTA))

Ejercicio 11-9
Vaciar la tabla granpedidos1 de modo que siga permaneciendo en la base de
datos con sus índices y sus objetos asociados, y sin registrar las eliminaciones
de cada fila individual.

TRUNCATE TABLE GRANDESPEDIDOS

Ejercicio 11-10
Elevar el límite de crédito de la empresa Acme Mfg a 60000 y reasignarla al
representante de ventas número 109.

UPDATE CLIENTES
SET LIMITE_CREDITO = 60000, REPCLIE = 109
WHERE EMPRESA = 'ACME MFG.'

Ejercicio 11-11
Transferir todos los vendedores de la oficina numero 12 de Chicago a la oficina
numero 11 de Nueva York y rebajar sus cuotas un 10 por ciento.

UPDATE REPVENTAS
SET OFICINA_REP = 11, CUOTA = 0.9*CUOTA
WHERE OFICINA_REP = 12
Ejercicio 11-12
Reasignar todos los clientes atendidos por los empleados números 105, 106,
107 al empleado 102. Asignar también una cuota de 10000 a todos aquellos
vendedores que actualmente no tienen cuota.

UPDATE CLIENTES
SET REPCLIE = 102
WHERE REPCLIE IN (105, 106, 107)

UPDATE REPVENTAS
SET CUOTA = 100000
WHERE CUOTA IS NULL

Ejercicio 11-13
Reasignar todos los clientes atendidos por vendedores cuyas ventas son
menores que el 80% de sus cuotas.

UPDATE CLIENTES
SET REPCLIE = 105
WHERE REPCLIE IN (SELECT NUM_EMPL
FROM REPVENTAS
WHERE VENTAS < (0.8*CUOTA))

Ejercicio 11-14
Para todos los registros de la tabla CURSO que tengan un numero de curso que
comience con C3, fijar el valor del crédito en 3, incrementar la tarifa en un 10%
y cambiar su descripción a “EL LENJUAJE DB2”.

UPDATE CURSO
SET CRED = 3, CTARIFA = CTARIFA * 1.10,
CDESP = 'EL LENGUAJE DB2'
WHERE CNO LIKE 'C3%'

Ejercicio 11-15
Cambiar la tarifa a 175 para el curso número C66.

UPDATE CURSO
SET CTARIFA = 176
WHERE CNO = 'C66'
Ejercicio 11-16
Actualizar el valor de ESALARIO de todos los miembros del personal asignados
al departamento de Matemáticas. El nuevo salario para todas estas personas es
de 4000.

UPDATE PERSONAL
SET ESUELDO = 4000
WHERE DEPT = 'MATH'

Вам также может понравиться