Conceptos básicos de programación PL / SQL (1)

 

 

 

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

 

 

 

 

Supongo que te gusta

Origin blog.csdn.net/VinWqx/article/details/79846428
Recomendado
Clasificación