sábado, 10 de diciembre de 2011

Clase 10-12-2011

Progerama PL/SQL

drop table T1;
delete T1;
CREATE TABLE T1(
e integer,
f integer
);

select * from T1;
--Begin
-- DELETE FROM T1;
INSERT INTO T1 VALUES(1, 3);
INSERT INTO T1 VALUES(2, 4);
--End


select * from t1
/* Lo de arriba es SQL; debajo es el programa PL/SQL */
DECLARE
a NUMBER;
b NUMBER;
BEGIN
SELECT e,f INTO a,b
FROM T1
WHERE e>1; --Este select asigna el atributo e->a y f->b, de todos aquellos registros cuyo atributo e > 1
INSERT INTO T1 VALUES(b,a);
END;

el programa crea una tabla,
inserta 2 valores por cada campo,

luego el programa PL/SQL selecciona 2 valores mayores a 1 y los asigna a a y b.
inserta los valores.

Luego al querer ejecutar nuevamente entrega un error, ya que la seleccion ya no devuelve 2 datos, sino 4 y no sabe a que variable asignar.


Imprime salida a pantalla
begin
dbms_output.put_line('Hola washi');
end;
Es necesario activar DBMS Output, el botòn redondo debe estar en verde

Programa que implementa un if simple
declare
precio integer := 10;

begin
if precio > 5 then
dbms_output.put_line('Precio es : '|| precio);
end if;
end;

Programa que implementa un if con else y asignación y concatenación de variables

declare
precio integer := 10;
text varchar2(5);
begin
if precio > 15 then
text := 'mayor';
--dbms_output.put_line('Precio es : '|| precio);
else
text := 'menor';
--dbms_output.put_line('Precio es : '|| );
end if;
dbms_output.put_line('El precio es '|| text ||' y su valor es '|| precio);
end;

Programa que implementa un loop con una condición

declare
i integer:= 1;
begin
LOOP
dbms_output.put_line('Hola mundo '|| i);
i:=i+1;
EXIT WHEN i > 10;
END LOOP;
END;


Clase de recuperacion
select * from empleado where to_char(fechnac,'dd-mm-yyyy') like '%06-1963%'
select * from empleado where to_char(fechnac,'dd-mm-yyyy') not like '%06-1963%'

select * from empleado where upper(cargo) not in ('GERENTE', 'SUPERVISOR')

select * from cliente where upper(direccion) like ('%GLASGOW%')

select * from cliente where trim(upper(nombre)) like ('MARI_')

select * from visita where comentario is NULL

No hay comentarios:

Publicar un comentario