Conceptos Esenciales de Oracle PL/SQL: Funciones, Triggers y Optimización de Consultas
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 5,64 KB
Conceptos Esenciales de Oracle PL/SQL y Objetos de Base de Datos
A continuación, se presenta una validación de conocimientos técnicos sobre objetos de base de datos Oracle, PL/SQL, y componentes de desarrollo.
Funciones Almacenadas (Stored Functions) y Eficiencia
¿Qué afirmación es correcta?
d. Las Stored Functions pueden incrementar la eficiencia de las consultas al realizar funciones directamente en la consulta en lugar de en la aplicación.
Record Groups y Tiempo de Diseño
¿Qué dos estamentos definen un Static Record Group?
- b. El
Record Groupno está asociado a una consulta. - El
Record Grouppuede ser creado y modificado solo en tiempo de diseño.
- b. El
Triggers y Restricciones de Negocio
Identifique las instrucciones que permiten que el aumento de sueldo no sea mayor a un décimo del total.
d. Implementación mediante un
TRIGGER:CREATE OR REPLACE TRIGGER check_sal BEFORE UPDATE OF sal ON emp WHEN (new.sal < old.sal OR new.sal > old.sal * 1.1) BEGIN RAISE_APPLICATION_ERROR ( - 20508, 'Do not decrease salary nor increase by more than 10%'); END;
Packages en PL/SQL
Estructuras y Componentes
¿Qué estructuras pueden ser incluidas en un PACKAGE?
- Cursor
- Constante
Tipos de Datos
El tipo de datos previo (en cuanto a cumplir una función similar) a LOB es LONG.
Afirmaciones Correctas sobre Packages
Considere dos afirmaciones correctas en el siguiente listado:
- d. Es posible definir que la construcción del package es privada. Los packages pueden incluirse uno en otro.
- e. El contenido de un package puede ser compartido por muchas aplicaciones. Es posible definir que la construcción del package es privada.
Oracle Forms y Alertas
¿Cuál de las siguientes aplicaciones no puede ser realizada en ORACLE FORMS?
c. Software embebido.
Elija dos afirmaciones correctas sobre Packages:
- c. Un package se carga en memoria cada vez que se llama (o la primera vez que se referencia).
- El contenido de un package puede ser compartido por muchas aplicaciones.
- e. No existen dos afirmaciones correctas en el listado. (Nota: Esta opción se mantiene según el texto original).
Manejo de Alertas en Interfaz
¿Con qué instrucciones podemos conocer el resultado de la acción del usuario sobre un mensaje de ALERTA?
a. Verificar el valor devuelto por la función SHOW_ALERT para ver si es ALERT_BUTTON_1, ALERT_BUTTON_2 o ALERT_BUTTON_3.
Ejemplos de Código PL/SQL y Errores Comunes
Uso de Funciones en Consultas SQL
Definición de función (ejemplo parcial):
CREATE OR REPLACE FUNCTION CALC_PLAYER_AVG
(V_ID IN PLAYER_BAT_STAT.PLAYER_ID%TYPE)
-- ... (cuerpo de la función omitido)
Llamada correcta desde SELECT:
a. SELECT CALC_PLAYER_AVG(PLAYER_ID) FROM PLAYER_BAT_STAT;
Declaración de Variables y Errores de Compilación
SET SERVEROUTPUT ON
DECLARE
X NUMBER;
V_SAL NUMBER;
V_found VARCHAR2(10) := TRUE;
a. Error, pues la variable Y no está declarada. (Respuesta basada en el contexto original del ejercicio).
Error de Sintaxis en Declaración VARCHAR2
DECLARE
A VARCHAR2; -- Error: falta especificar el tamaño
B NUMBER;
BEGIN
A := '12';
B := A;
END;
a. Falla, pues un VARCHAR2 debe especificar el tamaño.
Triggers y Nivel de Ejecución
CREATE OR REPLACE TRIGGER CALC_TEAM_AVG
AFTER INSERT ON PLAYER
BEGIN
INSERT INTO PLAYER_BAT_STAT (PLAYER_ID, ...);
-- ...
a. Row (Respuesta que probablemente hace referencia al nivel de trigger).
Procedimientos Almacenados y Parámetros por Nombre
CREATE OR REPLACE PROCEDURE add_dept
(
p_dept_name VARCHAR2 DEFAULT placeholder,
p_location VARCHAR2 DEFAULT Boston
)
-- ...
Llamada utilizando parámetros por nombre:
d. add_dept(p_location => 'New York');
Packages y Visibilidad
CREATE OR REPLACE PACKAGE bonus IS
g_max_bonus NUMBER := .99;
FUNCTION calc_bonus (p_e -- ...
Usted puede llamar la función del package BONUS.CALC_SALARY desde un SELECT contra la tabla EMPLOYEES.
Restricciones de Funciones en Consultas SQL
¿Es posible llamar desde un
SELECTuna función que modifica la misma tabla que se consulta?Falso. Al devolver un valor puede ser llamada como parte de una expresión, pero no puede modificar la tabla consultada (error de tabla mutante).
La única forma de pasar parámetros a una función es posicionalmente.
Falso. También puede ser por nombre, de modificador o dinámicos (referencia a notación por nombre y posicional).