Diferència entre revisions de la pàgina «P2-Declaració de variables PLSQL»
De wikiserver
(Hi ha 3 revisions intermèdies del mateix usuari que no es mostren) | |||
Línia 27: | Línia 27: | ||
c) deliver_to VARCHAR2(10):=Johnson; | c) deliver_to VARCHAR2(10):=Johnson; | ||
d) by_when DATE:= CURRENT_DATE+1; | 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:''' | '''3) Examine el siguiente bloque anónimo y seleccione la frase que sea verdadera de entre las siguientes:''' | ||
Línia 42: | Línia 47: | ||
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. | ||
+ | |||
+ | '''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.''' | '''4) Modifique un bloque anónimo existente y guárdelo como nuevo script.''' | ||
a) Abra el script creado en la Práctica 1. | a) Abra el script creado en la Práctica 1. | ||
− | + | ||
b) En este bloque PL/SQL, declare las siguientes variables: | b) En este bloque PL/SQL, declare las siguientes variables: | ||
1. v_today del tipo DATE. Inicialice today con SYSDATE. | 1. v_today del tipo DATE. Inicialice today con SYSDATE. | ||
Línia 57: | Línia 66: | ||
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): | 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): | ||
[[Fitxer:anonymous_block_completed.png]] | [[Fitxer: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.''' | '''5) Edite el script anterior.''' | ||
Línia 65: | Línia 86: | ||
La salida de ejemplo es la siguiente: | La salida de ejemplo es la siguiente: | ||
[[Fitxer:p5.png]] | [[Fitxer: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 |
Revisió de 16:10, 30 gen 2015
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):
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:
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