sábado, 10 de diciembre de 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

Nota: solo los miembros de este blog pueden publicar comentarios.