Diferència entre revisions de la pàgina «M2 - Bases de dades / Exercicis UF3: Llenguatges SQL / Solucions PL-SQL T2»
(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):
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: