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