P2-Declaració de variables PLSQL

De wikiserver
Dreceres ràpides: navegació, cerca

1) Especifique identificadores válidos y no válidos:

 a) today
 b) last_name
 c) today’s_date
 d) Number_of_days_in_February_this_year
 e) Isleap$year
 f) #number
 g) NUMBER#
 h) number1to7
 Sol.lucions
 
 a) Válido
 b) Válido
 c) No válido: no se permite el carácter “’”
 d) No válido: demasiado largo
 e) Válido
 f) No válido: no puede empezar por “#”
 g) Válido
 h) Válido

2) Identifique las declaraciones e inicializaciones de variables válidas y las no válidas:

 a) number_of_copies  PLS_INTEGER;
 b) PRINTER_NAME      constant VARCHAR2(10);
 c) deliver_to        VARCHAR2(10):=Johnson;
 d) by_when           DATE:= CURRENT_DATE+1;
 Sol.lucions
 
 La declaración b no es válida porque las variables constantes se deben inicializar durante la declaración.
 La declaración c no es válida porque los literales de cadena deben aparecer entre comillas simples.

3) Examine el siguiente bloque anónimo y seleccione la frase que sea verdadera de entre las siguientes:

 DECLARE
   v_fname VARCHAR2(20);
   v_lname VARCHAR2(15) DEFAULT 'fernandez';
 BEGIN
   DBMS_OUTPUT.PUT_LINE(v_fname ||' ' ||v_lname);
 END;
 
 a)El bloque se ejecuta correctamente y se imprime “fernandez”.
 b)El bloque produce un error porque se utiliza la variable fname sin inicializarse.
 c)El bloque se ejecuta correctamente y se imprime “null fernandez”.
 d)El bloque produce un error porque no se puede utilizar la palabra clave DEFAULT para inicializar una variable de tipo VARCHAR2.
 e)El bloque produce un error porque no se declara la variable v_fname.
 Sol·lució
   
 a. El bloque se ejecuta correctamente y se imprime “fernandez”.

4) Modifique un bloque anónimo existente y guárdelo como nuevo script.

 a) Abra el script creado en la Práctica 1.
 
 b) En este bloque PL/SQL, declare las siguientes variables:
   1. v_today del tipo DATE. Inicialice today con SYSDATE.
   2. v_tomorrow del tipo today. Utilice el atributo %TYPE para declarar esta variable.
   
 c) En la sección ejecutable:
   1. Inicialice la variable v_tomorrow con una expresión, que calcule la fecha de mañana (agregue uno al valor de today)
   2. Imprima el valor de v_today y tomorrow después de imprimir “Hello World”
   
 d) Guarde el script como P2_04.sql y ejecutelo.
   La salida de ejemplo es como la siguiente (los valores de v_today y v_tomorrow serán diferentes para reflejar la fecha actual de hoy y la de mañana):
   Anonymous block completed.png
 Sol·lució
 
   DECLARE
      v_today DATE:=SYSDATE;
      v_tomorrow v_today%TYPE;
   BEGIN
      v_tomorrow:=v_today +1;
      DBMS_OUTPUT.PUT_LINE(' Hello World ');
      DBMS_OUTPUT.PUT_LINE('TODAY IS : '|| v_today);
      DBMS_OUTPUT.PUT_LINE('TOMORROW IS : ' || v_tomorrow);
   END;

5) Edite el script anterior.

 a) Agregue código para crear dos variables de enlace: b_basic_percent y b_pf_percent. Ambas son del tipo NUMBER.
 b) En la sección ejecutable del bloque PL/SQL, asigne los valores 45 y 12 a b_basic_percent y b_pf_percent, respectivamente.
 c) Termine el bloque PL/SQL con “/” y muestre el valor de las variables de enlace con el comando PRINT.
 d) Ejecute y guarde el script como P2_05.sql. 
     La salida de ejemplo es la siguiente:
        P5.png
Sol·lució
   
 VARIABLE b_basic_percent NUMBER
 VARIABLE b_pf_percent NUMBER
   :b_basic_percent:=45;
   :b_pf_percent:=12;
 /
 PRINT b_basic_percent
 PRINT b_pf_percent