Diferència entre revisions de la pàgina «M2 - Bases de dades / Exercicis UF3: Llenguatges SQL / Solucions PL-SQL T4»
De wikiserver
(Es crea la pàgina amb «==T4- 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…».) |
(→T4- Sentencies executables) |
||
Línia 1: | Línia 1: | ||
==T4- Sentencies executables == | ==T4- 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 | + | ::DECLARE |
− | v_weight NUMBER(3):=600; | + | ::v_weight NUMBER(3):=600; |
− | v_message VARCHAR2(255):='Product 10012'; | + | ::v_message VARCHAR2(255):='Product 10012'; |
− | BEGIN | + | ::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; | + | ::END; |
− | a) El valor de v_weight en el subbloc és: | + | :a) El valor de v_weight en el subbloc és: |
− | b) El valor de v_new_locn 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: | + | :c) El valor de v_weight en el bloc principal és: |
− | d) El valor de v_message 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 | + | :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 | + | ::DECLARE |
− | + | ::::v_customer VARCHAR2(50):='Womansport'; | |
− | + | ::::v_credit_rating VARCHAR2(50):='excellent'; | |
− | BEGIN | + | ::BEGIN |
− | + | ::::DECLARE | |
− | + | ::::::v_customer NUMBER(7):=201; | |
− | + | ::::::v_name VARCHAR2(25):='unisports'; | |
− | + | ::::::BEGIN | |
− | + | ::::::::vcustomer v_name v_credit_rating | |
− | END; | + | ::::::END; |
− | + | ::::::::vcustomer v_name v_credit_rating | |
− | + | ::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 números mitjançant variables SQL*PLUS. S'ha de dividir el primer número pel segon i després afegir el segon número 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. | ||
+ | |||
+ | ::Please enter the first number: 2 | ||
+ | |||
+ | ::Please enter the second number: 4 | ||
+ | |||
+ | ::PL/SQL procedure successfully completed._ | ||
+ | |||
+ | ::V_RESULT | ||
+ | ::-------- | ||
+ | :: 4.5 | ||
+ | |||
+ | *'''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 passaran al bloc PL/SQL mitjançant variables de substitució SQL*PLUS i l'import de bonificació haurà de ser convertit de número enter a decimal (per exemple 15 a 0,15). Si el salari és nul assigneu-li zero abans de calcula la compensació. Utilitzeu la funció NVL per gestionar els valors nuls. | ||
+ | |||
+ | ::Please enter the salary amount: 50000 | ||
+ | |||
+ | ::Please enter the bonus percentage: 10 | ||
+ | |||
+ | ::PL/SQL procedure successfully completed._ | ||
+ | |||
+ | ::G_TOTAL | ||
+ | ::-------- | ||
+ | :: 55000 |
Revisió del 17:31, 9 abr 2014
T4- 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
- vcustomer v_name v_credit_rating
- END;
- vcustomer v_name v_credit_rating
- 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 números mitjançant variables SQL*PLUS. S'ha de dividir el primer número pel segon i després afegir el segon número 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.
- Please enter the first number: 2
- Please enter the second number: 4
- PL/SQL procedure successfully completed._
- V_RESULT
- --------
- 4.5
- 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 passaran al bloc PL/SQL mitjançant variables de substitució SQL*PLUS i l'import de bonificació haurà de ser convertit de número enter a decimal (per exemple 15 a 0,15). Si el salari és nul assigneu-li zero abans de calcula la compensació. Utilitzeu la funció NVL per gestionar els valors nuls.
- Please enter the salary amount: 50000
- Please enter the bonus percentage: 10
- PL/SQL procedure successfully completed._
- G_TOTAL
- --------
- 55000