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

De wikiserver
Dreceres ràpides: navegació, cerca
(Es crea la pàgina amb « EXERCICI 1 AVALUA LES SEGÜENTS DECLARACIONS DE VARIABLES DETERMINANT QUINES NO SON CORRECTES (DONEN ERROR). EXPLICA PERQUÈ. a) DECLARE v_id NUMBER(4); b) DECLARE v…».)
 
Línia 1: Línia 1:
  
 +
==T3- Declaració de variables ==
  
 
EXERCICI 1
 
EXERCICI 1
Línia 36: Línia 37:
  
 
­CREA UN BLOC QUE DECLARI DUES VARIABLES. ASSIGNEU EL VALOR D'AQUESTES VARIABLES PL/SQL A VARIABLES SQL*PLUS I IMPRIMEIX EL VALOR D'AQUESTES DUES VARIABLES PER PANTALLA.
 
­CREA UN BLOC QUE DECLARI DUES VARIABLES. ASSIGNEU EL VALOR D'AQUESTES VARIABLES PL/SQL A VARIABLES SQL*PLUS I IMPRIMEIX EL VALOR D'AQUESTES DUES VARIABLES PER PANTALLA.
 +
 +
==T3- Sentencies executables ==
 +
 +
EXERCICI 1
 +
 +
OBSERVA EL SEGÜENT BLOC PL/SQL I DETERMINA ELS VALORS DE LES VARIABLES SEGÜENTS D'ACORD AMB LES REGLES D'ÀMBIT
 +
 +
DECLARE
 +
 +
v_weight NUMBER(3):=600;
 +
 +
v_message VARCHAR2(255):='Product 10012';
 +
 +
BEGIN
 +
 +
    DECLARE
 +
 +
        v_weight NUMBER(3):=1;
 +
 +
        v_message VARCHAR2(255):='Product 11001';
 +
 +
        v_new_locn VARCHAR2(50):='Europe';
 +
 +
      BEGIN
 +
 +
        v_weight:= v_weight+1;
 +
 +
        v_new_locn:='Western'|| v_new_locn;
 +
 +
      END;
 +
 +
  v_weight:= v_weight+1;
 +
 +
  v_message:=v_message||'is in stock';
 +
 +
  v_new_locn:='Western'|| v_new_locn;
 +
 +
END;
 +
 +
 +
a) El valor de v_weight en el subbloc és:
 +
 +
b) El valor de v_new_locn en el subbloc és:
 +
 +
c) El valor de v_weight en el bloc principal és:
 +
 +
d) El valor de v_message en el bloc principal és:
 +
 +
e) El valor de v_new_locn en el bloc principal es
 +
 +
EXERCICI 2
 +
 +
SUPOSEM QUE INCLOEM UN SUBBLOC EN UN BLOC TAL COM ES MOSTRA TOT SEGUIT. DETERMINA ELS VALORS EN ELS CASOS SEGÜENTS
 +
 +
DECLARE
 +
 +
  v_customer    VARCHAR2(50):='Womansport';
 +
 +
  v_credit_rating    VARCHAR2(50):='excellent';
 +
 +
BEGIN
 +
 +
      DECLARE
 +
 +
            v_customer  NUMBER(7):=201;
 +
 +
            v_name        VARCHAR2(25):='unisports';
 +
 +
      BEGIN
 +
 +
      END;
 +
 +
END;
 +
 +
a) El valor de v_customer en el subbloc és:
 +
 +
b) El valor de v_name en el subbloc és:
 +
 +
c) El valor de v_credit_rating en el subbloc és:
 +
 +
d) El valor de v_customer en el bloc principal és:
 +
 +
e) El valor de v_name en el bloc principal es
 +
 +
f) El valor de v_credit_rating en el bloc principal és:
 +
EXERCICI 3
 +
 +
CREA I EXECUTA UN BLOC PL/SQL ANOMENAT “T3E3.sql” QUE ACCEPTI DOS NUMEROS PER MITJÀ DE VARIABLES SQL*PLUS. S'HA DE DIVIDIR EL PRIMER NÚMERO PEL SEGON I DESPRÉS AFEGIR EL SEGON AL RESULTAT. EL RESULTAT S'HA D'ESCRIURE EN UNA VARIABLE PL/SQL I S'HA D'IMPRIMIR EN PANTALLA AMB UNA VARIABLE SQL*PLUS.
 +
 +
EXERCICI 4
 +
 +
GENEREU UN BLOC PL/SQL QUE CALCULI LA COMPENSACIÓ TOTAL PER UN ANY. EL SALARI ANUAL I EL PERCENTATGE ANUAL DE BONIFICACIONS ES PASARAN AL BLOC PL/SQL A TRAVÉS DE VARIABLES DE SUBSTITUCIÓ SQL*PLUS I L'IMPORT DE BONIFICACIÓ HAURÀ DE SER CONVERTIT EN NUMERO ENTER A DECIMAL (per exemple 15 a 0,15). SI EL SALARI ES NUL ASIGNEU-LI ZERO ABANS DE CALCULAR LA COMPENSACIÓ TOTAL. UTILITZEU LA FUNCIÓ NVL PER A GESTIONAR ELS VALORS NULS.

Revisió del 12:49, 25 març 2014

T3- Declaració de variables

EXERCICI 1

AVALUA LES SEGÜENTS DECLARACIONS DE VARIABLES DETERMINANT QUINES NO SON CORRECTES (DONEN ERROR). EXPLICA PERQUÈ.

a) DECLARE v_id NUMBER(4);

b) DECLARE v_x, v_y,v_z VARCHAR2(10);

c) DECLARE v_data_naixament DATE NOT NULL;

c) DECLARE v_en_stock BOOLEAN :=1

EXERCICI 2

DETERMINA EL TIPUS DE DADES DE LES EXPRESSIONS RESULTANTS EN LES SEGÜENTS ASSIGNACIONS

a) v_dies_que_falten := v_date - SYSDATE;

b) v_sender := USER || ':' || TO_CHAR(v_deptno);

c) v_sum := $100,000+$250,000

d) v_bandera := TRUE

d) v_n1 := v_n2 > (2*v_n3);

d) v_valor := NULL;

EXERCICI 3

CREA UN BLOC ANÒNIM PER IMPRIMIR LA FRASE “Benvingut a PL/SQL”

EXERCICI 4

­CREA UN BLOC QUE DECLARI DUES VARIABLES. ASSIGNEU EL VALOR D'AQUESTES VARIABLES PL/SQL A VARIABLES SQL*PLUS I IMPRIMEIX EL VALOR D'AQUESTES DUES VARIABLES PER PANTALLA.

T3- Sentencies executables

EXERCICI 1

OBSERVA EL SEGÜENT BLOC PL/SQL I DETERMINA ELS VALORS DE LES VARIABLES SEGÜENTS D'ACORD AMB LES REGLES D'ÀMBIT

DECLARE

v_weight NUMBER(3):=600;

v_message VARCHAR2(255):='Product 10012';

BEGIN

    DECLARE
        v_weight NUMBER(3):=1;
        v_message VARCHAR2(255):='Product 11001';
        v_new_locn VARCHAR2(50):='Europe';
     BEGIN
        v_weight:= v_weight+1;
        v_new_locn:='Western'|| v_new_locn;
     END;
 v_weight:= v_weight+1;
 v_message:=v_message||'is in stock';
 v_new_locn:='Western'|| v_new_locn;

END;


a) El valor de v_weight en el subbloc és:

b) El valor de v_new_locn en el subbloc és:

c) El valor de v_weight en el bloc principal és:

d) El valor de v_message en el bloc principal és:

e) El valor de v_new_locn en el bloc principal es

EXERCICI 2

SUPOSEM QUE INCLOEM UN SUBBLOC EN UN BLOC TAL COM ES MOSTRA TOT SEGUIT. DETERMINA ELS VALORS EN ELS CASOS SEGÜENTS

DECLARE

 v_customer    VARCHAR2(50):='Womansport';
 v_credit_rating    VARCHAR2(50):='excellent';

BEGIN

      DECLARE
            v_customer   NUMBER(7):=201;
            v_name        VARCHAR2(25):='unisports';
      BEGIN
      END;

END;

a) El valor de v_customer en el subbloc és:

b) El valor de v_name en el subbloc és:

c) El valor de v_credit_rating en el subbloc és:

d) El valor de v_customer en el bloc principal és:

e) El valor de v_name en el bloc principal es

f) El valor de v_credit_rating en el bloc principal és: EXERCICI 3

CREA I EXECUTA UN BLOC PL/SQL ANOMENAT “T3E3.sql” QUE ACCEPTI DOS NUMEROS PER MITJÀ DE VARIABLES SQL*PLUS. S'HA DE DIVIDIR EL PRIMER NÚMERO PEL SEGON I DESPRÉS AFEGIR EL SEGON AL RESULTAT. EL RESULTAT S'HA D'ESCRIURE EN UNA VARIABLE PL/SQL I S'HA D'IMPRIMIR EN PANTALLA AMB UNA VARIABLE SQL*PLUS.

EXERCICI 4

GENEREU UN BLOC PL/SQL QUE CALCULI LA COMPENSACIÓ TOTAL PER UN ANY. EL SALARI ANUAL I EL PERCENTATGE ANUAL DE BONIFICACIONS ES PASARAN AL BLOC PL/SQL A TRAVÉS DE VARIABLES DE SUBSTITUCIÓ SQL*PLUS I L'IMPORT DE BONIFICACIÓ HAURÀ DE SER CONVERTIT EN NUMERO ENTER A DECIMAL (per exemple 15 a 0,15). SI EL SALARI ES NUL ASIGNEU-LI ZERO ABANS DE CALCULAR LA COMPENSACIÓ TOTAL. UTILITZEU LA FUNCIÓ NVL PER A GESTIONAR ELS VALORS NULS.