Diferència entre revisions de la pàgina «M2 - Bases de dades / Exercicis UF3: Llenguatges SQL / Solucions PL-SQL T2»

De wikiserver
Dreceres ràpides: navegació, cerca
 
(Hi ha 2 revisions intermèdies del mateix usuari que no es mostren)
Línia 29: Línia 29:
 
     END;
 
     END;
 
</pre>
 
</pre>
a)El bloque se ejecuta correctamente y se imprime “fernandez”.
+
:*a)El bloque se ejecuta correctamente y se imprime “fernandez”.
b)El bloque produce un error porque se utiliza la variable fname sin inicializarse.
+
:*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”.
+
:*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.
+
:*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.
+
:*e) El bloque produce un error porque no se declara la variable v_fname.
'''
+
 
a. El bloque se ejecuta correctamente y se imprime “fernandez”.'''
+
::'''a. El bloque se ejecuta correctamente y se imprime “fernandez”.'''
  
 
4) Modifique un bloque anónimo existente y guárdelo como nuevo script.
 
4) Modifique un bloque anónimo existente y guárdelo como nuevo script.
Línia 72: Línia 72:
 
a) Agregue código para crear dos variables de enlace: b_basic_percent y b_pf_percent. Ambas son del tipo NUMBER.
 
a) Agregue código para crear dos variables de enlace: b_basic_percent y b_pf_percent. Ambas son del tipo NUMBER.
 
<pre>
 
<pre>
VARIABLE b_basic_percent NUMBER
+
  VARIABLE b_basic_percent NUMBER
VARIABLE b_pf_percent NUMBER
+
  VARIABLE b_pf_percent NUMBER
 
</pre>
 
</pre>
 
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.
 
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.
 
<pre>
 
<pre>
:b_basic_percent:=45;
+
  :b_basic_percent:=45;
:b_pf_percent:=12;
+
  :b_pf_percent:=12;
 
</pre>
 
</pre>
 
c) Termine el bloque PL/SQL con “/” y muestre el valor de las variables de enlace con el comando PRINT.
 
c) Termine el bloque PL/SQL con “/” y muestre el valor de las variables de enlace con el comando PRINT.
 
<pre>
 
<pre>
/
+
  /
PRINT b_basic_percent
+
  PRINT b_basic_percent
PRINT b_pf_percent
+
  PRINT b_pf_percent
O
+
  O
PRINT
+
  PRINT
 
</pre>
 
</pre>
 
d) Ejecute y guarde el script como lab_02_05_soln.sql. La salida de ejemplo es la siguiente:
 
d) Ejecute y guarde el script como lab_02_05_soln.sql. La salida de ejemplo es la siguiente:
  
 
[[Imatge:m2_uf3_sdv_2.png |300px|center| Declaració variables]]
 
[[Imatge:m2_uf3_sdv_2.png |300px|center| Declaració variables]]

Revisió de 18:00, 1 març 2018

1.- Especifica identificadors vàlids i no vàlids:

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

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

a) number_of_copies           PLS_INTEGER;                              Válido
b) PRINTER_NAME               constant VARCHAR2(10);             No válido
c) deliver_to                        VARCHAR2(10):=Johnson;             No válido
d) by_when                          DATE:= CURRENT_DATE+1;         Válido
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.
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 lab_01_02_soln.sql, creado en la Práctica 1.
b) En el bloque PL/SQL, declare las siguientes variables:

1. Variable v_today del tipo DATE. Inicialice today con SYSDATE.

   DECLARE
     v_today DATE:=SYSDATE;

2. Variable v_tomorrow del tipo today. Utilice el atributo %TYPE para declarar esta variable.

   v_tomorrow v_today%TYPE;

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 v_today) 2. Imprima el valor de v_today y v_tomorrow después de imprimir “Hello World”

   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;

d) Guarde el script como lab_02_04_soln.sql y ejecute.

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):

Declaració variables

5) Edite el script lab_02_04_soln.sql.

a) Agregue código para crear dos variables de enlace: b_basic_percent y b_pf_percent. Ambas son del tipo NUMBER.

   VARIABLE b_basic_percent NUMBER
   VARIABLE b_pf_percent 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.

   :b_basic_percent:=45;
   :b_pf_percent:=12;

c) Termine el bloque PL/SQL con “/” y muestre el valor de las variables de enlace con el comando PRINT.

   /
   PRINT b_basic_percent
   PRINT b_pf_percent
   O
   PRINT

d) Ejecute y guarde el script como lab_02_05_soln.sql. La salida de ejemplo es la siguiente:

Declaració variables