Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Bases de Datos 2
R//
● SQLPLUS DZUNIGA/dzuniga
● SQLPLUS Roxana11/oracle11g
● sqlplus */ as sysdba
● SET SERVEROUTPUT ON
● SET LINE 1000;
● SET PAGES 1000;
● CREATE TABLE T_MONITOREA_TS as
select b.name, b.bigfile, a.bytes/(1024*1024) mb, c.status, a.file_name,
TO_CHAR(SYSDATE, ‘dd-mon-yyyy’) fecha,
TO_CHAR(SYSDATE, ‘hh:mi:ss’) hora
from dba_data_files a, v$tablespace b, dba_tablespaces c
where a.tablespace_name=b.name and a.tablespace_name=c.tablespace_name;
● select * from T_MONITOREA_TS;
● delete from T_MONITOREA_TS WHERE BIGFILE='YES';
● delete from T_MONITOREA_TS WHERE BIGFILE='NO';
2. Sobre la tabla del punto anterior, cree un trigger con nombre TR_AUD_INS_TS que alimente
una tabla de auditoría llamada AUDIT_TS_CREA cada que se creen registros nuevos en la
tabla T_MONITOREA_TS (la misma del punto anterior) con la siguiente información.
Tambien que audite si se modifica el valor del tamaño del tablespace hacia arriba.
R//
UPDATE T_MONITOREA_TS
SET mb=100
WHERE name= ‘TS_UAO2’;
SELECT * FROM
A) Realice una función con nombre F_CONVIERTE_A que retorne la cantidad en pesos
al ingresar como parámetros la nomenclatura de la divisa y el valor a convertir.
B) Encuentre una forma de realizar la misma función con nombre F_CONVIERTE_B,
de forma tal que los valores y las divisas de cambio sean parametrizables (convierta
la lista anterior en una tabla).
R//
A)
create or replace function F_CONVIERTE_A (nom_divisa IN VARCHAR2, valor IN NUMBER)
return NUMBER
is
total NUMBER:= 0;
BEGIN
CASE nom_divisa
WHEN 'GBP' THEN
total := valor * 4837.74;
DBMS_OUTPUT.PUT_LINE('La cantidad en pesos al ingresar como parámetros '||
valor||' '||nom_divisa||' es: '||total);
WHEN 'USD' THEN
total := valor * 3882.27;
DBMS_OUTPUT.PUT_LINE('La cantidad en pesos al ingresar como parámetros '||
valor||' '||nom_divisa||' es: '||total);
WHEN 'EUR' THEN
total := valor * 4222.66;
DBMS_OUTPUT.PUT_LINE('La cantidad en pesos al ingresar como parámetros '||
valor||' '||nom_divisa||' es: '||total);
WHEN 'CNY' THEN
total := valor * 549.78;
DBMS_OUTPUT.PUT_LINE('La cantidad en pesos al ingresar como parámetros '||
valor||' '||nom_divisa||' es: '||total);
ELSE
DBMS_OUTPUT.PUT_LINE('No existe esa nomenclatura de la divisa');
END CASE;
RETURN(total);
END;
/