sábado, 10 de diciembre de 2011

CUARTA CLASE FUNDAMENTOS DE ORACLE 10/12/2011

Clase 4

1) Ejemplos
a) Listar todo el personal con un sueldo entre 200.000 y 300.000
SELECT *
FROM EMPLEADO
WHERE SALARIO >= 200000
AND SALARIO <= 100000;
SELECT *
FROM EMPLEADO
WHERE SALARIO BETWEEN 200000
AND 300000;

b) Listar los empleados con la ciudad de la oficina donde trabajan
SELECT E.EMPLEADO, NOMBRE, CIUDAD
FROM EMPLEADO E, OFICINA O
WHERE E.NUMOFICINA = O.NUMOFICINA;

c) Borrar los gerentes que ganen más de 100.000 pesos
SELECT *
FROM EMPLEADO
WHERE CARGO = 'Gerente'
AND SALARIO >= 100000;

d) Listar todo los clientes que tengan en su dirección la palabra "Glasgow"
SELECT *
FROM CLIENTE
WHERE DIRECCION LIKE '%GLASGOW%';

e) Listar todos los comentarios de las propiedades que han sido visitadas
SELECT * FROM VISITA
WHERE COMENTARIO IS NOT NULL;

2) Practicar los comandos
DELETE
IN
HAVING
ORDER BY
GROUP BY
BETWEEN
UPPER
LOWER
ROUND
VARCHAR2
NUMBER
INTEGER
BOOLEAN
LIKE

3) Instalación oracle express 11g + Oracle SQL Developer

Instrucciones para instalar Oracle Express 11g
Descargar:
Oracle Express 11g http://www.oracle.com/technetwork/database/express-edition/downloads/index.html
Oralce SQL Developer http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html

Despues de instalar Oracle Express:
Para iniciar oracle express, ir a inicio, todos los programas, oracle database 11g express edition, entrar get started.
Oracle Sql Developer se ejecuta, y en los valores por defecto queda configurado para usarlo con oracle express.

4) Crear tabla en PL/SQL
CREATE TABLE T2(
e INTEGER,
f INTEGER
);
INSERT INTO T2 VALUES (1,3);
INSERT INTO T2 VALUES (2,4);

5) Asignación y cambio de variables (INTO asignación de variables)
DECLARE
a NUMBER;
b NUMBER;
BEGIN
SELECT e,f INTO a,b
FROM T2
WHERE e>1;   --ESTE SELECT ASIGNA EL ATRIBUTO E-->A Y F-->B DE TO0DOS AQUELLOS
REGISTROS CUYO ATRIBUTO E>1
INSERT INTO T2 VALUES (b,a);
END;
* Al ejecutar por segunda vez el procedimiento da un error porque hay una sutileza, funciona cuando el resultado
 entregue una sola tupla.

6) Mostrar en pantalla
SET SERVEROUTPUT ON
BEGIN
DBMS_OUTPUT.PUT_LINE ('Hola mundo');
END;

7) Instrucción IF
DECLARE
PRECIO INTEGER :=18;
BEGIN
 IF PRECIO >= 15 THEN
       DBMS_OUTPUT.PUT_LINE ('El precio es: '||PRECIO);
 END IF;
END;
DECLARE
PRECIO INTEGER :=18;
TEXTO VARCHAR2(5);
BEGIN
 IF PRECIO >= 15 THEN
       TEXTO := 'MAYOR';
 ELSE
   TEXTO := 'MENOR';
 END IF;
 DBMS_OUTPUT.PUT_LINE ('El precio es'||TEXTO||'y es: '||PRECIO);
END;

8) Instrucción LOOP
DECLARE
I INTEGER;
BEGIN
I:=1;
LOOP
 DBMS_OUTPUT.PUT_LINE('Hola mundo: '||I);
 I:=I+1;
 EXIT WHEN I>10;
END LOOP;
END;

No hay comentarios:

Publicar un comentario