Diferència entre revisions de la pàgina «P3-Escritura de Sentencias Ejecutables»

De wikiserver
Dreceres ràpides: navegació, cerca
 
(Hi ha 8 revisions intermèdies del mateix usuari que no es mostren)
Línia 1: Línia 1:
 
'''1) Evalúe el bloque PL/SQL siguiente y determine tanto el tipo de dato como el valor de cada una de las siguientes variables, según las reglas de los ámbitos.'''
 
'''1) Evalúe el bloque PL/SQL siguiente y determine tanto el tipo de dato como el valor de cada una de las siguientes variables, según las reglas de los ámbitos.'''
 +
 
[[Fitxer:bloc1.png|500px|Bloque PL/SQL]]
 
[[Fitxer:bloc1.png|500px|Bloque PL/SQL]]
  
Línia 7: Línia 8:
 
       d) Valor de v_message en la posición 2:
 
       d) Valor de v_message en la posición 2:
 
       e) Valor de v_new_locn en la posición 2:
 
       e) Valor de v_new_locn en la posición 2:
 +
 +
  '''Sol.lucions'''
 +
 
 +
  a) El valor de v_weight en la posición 1 es: 2  El tipo de dato es NUMBER.
 +
  b) El valor de v_new_locn en la posición 1 es: Western Europe El tipo de dato es VARCHAR2.
 +
  c) El valor de v_weight en la posición 2 es: 601 El tipo de dato es NUMBER.
 +
  d) El valor de v_message en la posición 2 es: Product 10012 is in stock  El tipo de dato es VARCHAR2.
 +
  e) El valor de v_new_locn en la posición 2 es: No válido porque v_new_locn no es visible fuera del subbloque
  
 
'''2) En el bloque PL/SQL siguiente, determine el valor y el tipo de dato en cada uno de los siguientes casos:'''
 
'''2) En el bloque PL/SQL siguiente, determine el valor y el tipo de dato en cada uno de los siguientes casos:'''
Línia 19: Línia 28:
 
     f) Valor de v_credit_rating en el bloque principal:
 
     f) Valor de v_credit_rating en el bloque principal:
  
'''3) Utilice la misma sesión que utilizó para ejecutar las prácticas de la lección titulada “Declaración de Variables PL/SQL”. Si ha abierto una nueva sesión, ejecute P5.sql. A continuación, edite P5.sql de la siguiente forma:'''
+
'''Sol.lucions'''
 +
 
 +
  a) El valor de v_customer en el bloque anidado es: 201  El tipo de dato es NUMBER.
 +
  b) El valor de v_name en el bloque anidado es: Unisports El tipo de dato es VARCHAR2.
 +
  c) El valor de v_credit_rating en el bloque anidado es: GOOD El tipo de dato es VARCHAR2.
 +
  d) El valor de v_customer en el bloque principal es: Womansport El tipo de dato es VARCHAR2.
 +
  e) El valor de v_name en el bloque principal es: Nulo. name no está visible en el bloque principal y aparecerá un error.
 +
  f) El valor de v_credit_rating en el bloque principal es: EXCELLENT El tipo de dato es VARCHAR2.
 +
 
 +
'''3) A continuación, edite P2_05.sql de la siguiente forma:'''
  
 
   a) Con la sintaxis de comentarios de una sola línea, comente las líneas que crean las variables de enlace y active SERVEROUTPUT.
 
   a) Con la sintaxis de comentarios de una sola línea, comente las líneas que crean las variables de enlace y active SERVEROUTPUT.
Línia 29: Línia 47:
 
     SELECT first_name, salary INTO v_fname, v_emp_sal
 
     SELECT first_name, salary INTO v_fname, v_emp_sal
 
     FROM employees WHERE employee_id=110;
 
     FROM employees WHERE employee_id=110;
   e) Cambie la línea que imprime “Hello World” para que imprima “Hello” y el nombre. A continuación, comente las líneas que muestran las fechas  
+
   e) Cambie la línea que imprime “Hello World” para que imprima “Hello” y el nombre. A continue v_credit_rating en el bloque anidado:
 +
    d) Valor ación, comente las líneas que muestran las fechas  
 
     e imprima las variables de enlace.
 
     e imprima las variables de enlace.
 
   f) Calcule la aportación del empleado al fondo de previsión (PF). PF es el 12% del salario básico, y el salario básico es el 45% del salario.  
 
   f) Calcule la aportación del empleado al fondo de previsión (PF). PF es el 12% del salario básico, y el salario básico es el 45% del salario.  
 
     Utilice las variables locales para el cálculo. Intente utilizar sólo una expresión para calcular el valor de PF. Imprima el salario del empleado
 
     Utilice las variables locales para el cálculo. Intente utilizar sólo una expresión para calcular el valor de PF. Imprima el salario del empleado
 
     y su aportación  a PF.
 
     y su aportación  a PF.
   g) Ejecute y guarde el script como lab_03_03_soln.sql.  
+
   g) Ejecute y guarde el script como '''P3_03.sql'''.  
 
     La salida de ejemploes la siguiente:
 
     La salida de ejemploes la siguiente:
[[Fitxer:salida1.png]]
+
[[Fitxer:salida1.png|300px|Salida]]
 +
 
 +
  '''Sol.lució''' 
 +
 
 +
  -- VARIABLE b_basic_percent NUMBER
 +
  -- VARIABLE b_pf_percent NUMBER
 +
  SET SERVEROUTPUT ON
 +
    /*:b_basic_percent:=45;
 +
    :b_pf_percent:=12;*/
 +
  DECLARE
 +
    v_basic_percent NUMBER:=45;
 +
    v_pf_percent NUMBER:=12;
 +
    v_fname VARCHAR2(15);
 +
    v_emp_sal NUMBER(10);
 +
  BEGIN
 +
    SELECT first_name, salary INTO v_fname, v_emp_sal
 +
    FROM employees WHERE employee_id=110;
 +
    DBMS_OUTPUT.PUT_LINE(' Hello '|| v_fname);
 +
    /*
 +
  DBMS_OUTPUT.PUT_LINE('TODAY IS : '|| v_today);
 +
  DBMS_OUTPUT.PUT_LINE('TOMORROW IS : ' || v_tomorrow);*/
 +
    ...
 +
    ...
 +
    /
 +
  --PRINT b_basic_percent
 +
  --PRINT b_basic_percent

Revisió de 16:21, 30 gen 2015

1) Evalúe el bloque PL/SQL siguiente y determine tanto el tipo de dato como el valor de cada una de las siguientes variables, según las reglas de los ámbitos.

Bloque PL/SQL

     a) Valor de v_weight en la posición 1:
     b) Valor de v_new_locn en la posición 1:
     c) Valor de v_weight en la posición 2:
     d) Valor de v_message en la posición 2:
     e) Valor de v_new_locn en la posición 2:
  Sol.lucions
 
 a) El valor de v_weight en la posición 1 es: 2  El tipo de dato es NUMBER.
 b) El valor de v_new_locn en la posición 1 es: Western Europe El tipo de dato es VARCHAR2.
 c) El valor de v_weight en la posición 2 es: 601 El tipo de dato es NUMBER.
 d) El valor de v_message en la posición 2 es: Product 10012 is in stock  El tipo de dato es VARCHAR2.
 e) El valor de v_new_locn en la posición 2 es: No válido porque v_new_locn no es visible fuera del subbloque

2) En el bloque PL/SQL siguiente, determine el valor y el tipo de dato en cada uno de los siguientes casos:

Bloque2 PL/SQL

    a) Valor de v_customer en el bloque anidado:
    b) Valor de v_name en el bloque anidado:
    c) Valor de v_credit_rating en el bloque anidado:
    d) Valor de v_customer en el bloque principal:
    e) Valor de v_name en el bloque principal:
    f) Valor de v_credit_rating en el bloque principal:
Sol.lucions
 
 a) El valor de v_customer en el bloque anidado es: 201  El tipo de dato es NUMBER.
 b) El valor de v_name en el bloque anidado es: Unisports El tipo de dato es VARCHAR2.
 c) El valor de v_credit_rating en el bloque anidado es: GOOD El tipo de dato es VARCHAR2.
 d) El valor de v_customer en el bloque principal es: Womansport El tipo de dato es VARCHAR2.
 e) El valor de v_name en el bloque principal es: Nulo. name no está visible en el bloque principal y aparecerá un error.
 f) El valor de v_credit_rating en el bloque principal es: EXCELLENT El tipo de dato es VARCHAR2.

3) A continuación, edite P2_05.sql de la siguiente forma:

 a) Con la sintaxis de comentarios de una sola línea, comente las líneas que crean las variables de enlace y active SERVEROUTPUT.
 b) Con los comentarios de varias líneas, comente en la sección ejecutable las líneas que asignan valores a las variables de enlace.
 c) En la sección de declaraciones:
   1. Declare e inicialice dos variables temporales para sustituir las variables de enlace comentadas.
   2. Declare dos variables adicionales: v_fname del tipo VARCHAR2 y tamaño 15, y v_emp_sal del tipo NUMBER y tamaño 10.
 d) Incluya la siguiente sentencia SQL en la sección ejecutable:
    SELECT first_name, salary INTO v_fname, v_emp_sal
    FROM employees WHERE employee_id=110;
 e) Cambie la línea que imprime “Hello World” para que imprima “Hello” y el nombre. A continue v_credit_rating en el bloque anidado:
    d) Valor ación, comente las líneas que muestran las fechas 
    e imprima las variables de enlace.
 f) Calcule la aportación del empleado al fondo de previsión (PF). PF es el 12% del salario básico, y el salario básico es el 45% del salario. 
    Utilice las variables locales para el cálculo. Intente utilizar sólo una expresión para calcular el valor de PF. Imprima el salario del empleado
    y su aportación  a PF.
 g) Ejecute y guarde el script como P3_03.sql. 
    La salida de ejemploes la siguiente:

Salida

 Sol.lució  
 -- VARIABLE b_basic_percent NUMBER
 -- VARIABLE b_pf_percent NUMBER
 SET SERVEROUTPUT ON
   /*:b_basic_percent:=45;
   :b_pf_percent:=12;*/
 DECLARE
   v_basic_percent NUMBER:=45;
   v_pf_percent NUMBER:=12;
   v_fname VARCHAR2(15);
   v_emp_sal NUMBER(10);
 BEGIN
   SELECT first_name, salary INTO v_fname, v_emp_sal
   FROM employees WHERE employee_id=110;
   DBMS_OUTPUT.PUT_LINE(' Hello '|| v_fname);
   /*
  DBMS_OUTPUT.PUT_LINE('TODAY IS : '|| v_today);
  DBMS_OUTPUT.PUT_LINE('TOMORROW IS : ' || v_tomorrow);*/
   ...
   ...
   /
 --PRINT b_basic_percent
 --PRINT b_basic_percent