Permítanme compartir algunos de los ejercicios de programación PL / SQL de Oracle. Las siguientes son respuestas escritas por personas. ¡Perdóneme!
1. Para escribir y ejecutar un programa de bloque PL / SQL simple Requisitos: Recibir una determinada información de nombre XXX, y mostrar y mostrar " Hola XXX , hoy es: fecha actual " .
o:
2. Practique la definición y uso de varios tipos de variables en PL / SQL .
Consulte el libro de texto p140 Experimento 1, tome la tabla en modo scott como ejemplo o tome la tabla definida por el usuario como ejemplo para practicar la definición y el uso de varios tipos de variables en PL / SQL (incluidas las variables escalares ,% tipo de variables de tipo, personalizadas Registrar variables , % variables de tipo de fila ). Registre todas las sentencias PL / SQL de ejemplo.
(1) Utilice variables escalares.
(2) Utilice variables de tipo%.
(3) Variables de registro personalizadas.
(4) Utilice la variable% rowtype.
3. Practique el uso de instrucciones de control de flujo básico (bucle) para escribir código PL / SQL para completar las funciones de procesamiento de datos especificadas .
(1) Calcule la suma de los elementos pares entre 1 y 100 utilizando el método de ciclo LOOp (resultado de la ejecución: 2550).
declarar
i número: = 1;
v_sum número: = 0;
empezar
Lazo
salir cuando i> 100;
yo: = yo + 1;
ifmod (i, 2) = 0 entonces
suma_v: = suma_v + i;
terminara si;
ciclo final;
final;
/
(2) Utilice el ciclo WHILE para imprimir todos los enteros dentro de 50 que pueden ser divisibles por 3, y el número de enteros (resultado de la ejecución: 16).
(2) Utilice el bucle FOR para calcular y generar S = 1! +2! +… + 10! (Resultado de la operación: 4037913).
declarar
var_snumber: = 1;
var_sumnumber: = 0;
Empezar
Para un bucle en 1..100
Para b en 1..a bucle
var_s: = var_s * b;
ciclo final;
var_sum: = var_sum + var_s;
ciclo final;
final;
/
4. Practique el uso de sentencias de control de flujo básicas para escribir código PL / SQL para completar las funciones de procesamiento de datos especificadas.
(1) Requisitos del sujeto: use variables temporales (& e_no) para solicitar a los usuarios que ingresen el número de empleado, use la declaración IF para determinar si el puesto del empleado es 'CLERK' y, de ser así, aumente el salario del empleado en un 1%.
Respuesta: declarar
v_e_no varchar2 (80): = & e_no;
empezar
ifv_e_no = 'CLERK'then
actualizar emp
establecer sal = sal * 1.01
donde trabajo = 'EMPLEADO';
terminara si;
final;
/
(2) Requisitos del sujeto: use variables temporales (& d_no) para solicitar al usuario que ingrese el número de departamento. De acuerdo con el número de departamento ingresado, use el juicio de caso usando el selector :
Si es el departamento 10, cambie el subsidio para empleados del departamento (correspondiente al campo COMM en la tabla EMP) a 100; si es el departamento 20, cambie el subsidio para empleados del departamento a 80; si es el departamento 30, cambie el departamento El subsidio del empleado se cambia a 50, de lo contrario el resultado "¡el departamento no existe!"
Respuesta: declarar
v_d_no varchar2 (20): = & d_no;
empezar
casev_d_no
cuando 10 entonces
actualizacion
setcomm = 100
wheredeptno = '10 ';
when20 entonces
actualizacion
setcomm = 80
wheredeptno = '20 ';
cuando 30 entonces
actualizacion
setcomm = 50
wheredeptno = '30 ';
más
dbms_output.put_line ('¡El departamento no existe!');
caso final;
final;
/
(3) Requisitos del sujeto: Use variables temporales (& e_no) para requerir que el usuario ingrese el número de empleado. De acuerdo con el número de empleado ingresado, use el juicio de caso sin usar el selector :
Si el salario del empleado es menor que 1000, el subsidio del empleado (correspondiente al campo COMM en la tabla EMP) se cambia a 100; si el salario del empleado está entre 1000 y 2000, el subsidio del empleado se cambia a 80; si el salario del empleado es mayor que 2000, entonces Cambiar el subsidio del empleado a 50
Respuesta: declarar
v_e_no número: = & e_no;
empezar
caso
cuando v_e_no <1000 entonces
actualizacion
setcomm = 100
wheredeptno <1000;
cuando v_e_no <2000 y v_e_no> 1000 entonces
actualizacion
setcomm = 80
wheredeptno <2000 y dept> 1000;
cuando v_e_no> 2000 entonces
actualizacion
setcomm = 50
wheredeptno> 2000;
caso final;
final;
/
Nota:
1) Cuando se usa un bucle for, el medio es ".." en lugar de "...";
2) A diferencia de otros lenguajes de programación, en la declaración del bloque pl / sql, la declaración de asignación es ": =";
3) Al declarar variables, preste atención a la especificación de la denominación del identificador, de lo contrario pueden producirse errores. Para la especificación de la denominación de identificadores , consulte: Haga clic para abrir el enlace