Diferència entre revisions de la pàgina «M2 - Bases de dades / Exercicis UF3: Llenguatges SQL / Solucions PL-SQL T3»
De wikiserver
(→T3- Declaració de variables) |
(→T4- Sentencies executables) |
||
Línia 1: | Línia 1: | ||
− | == | + | ==T3- Declaració de variables == |
− | + | *'''Exercici 1''' | |
− | + | :Avalua les següents declaracions de variables determinant quines no son correctes (donen error), explica perquè. | |
− | DECLARE | + | ::a) DECLARE v_id NUMBER(4); |
− | + | Correcte. | |
− | + | ::b) DECLARE v_x, v_y,v_z VARCHAR2(10); | |
− | + | Incorrecte, perquè només es permet un identificador per declaració. | |
− | + | ::c) DECLARE v_data_naixament DATE NOT NULL; | |
− | + | Incorrecte, perquè una variable NOT NULL ha d'inicialitzar-se. | |
− | + | ::d) DECLARE v_en_stock BOOLEAN :=1 | |
− | + | Incorrecte, perquè 1 no és una expressió booleana. | |
− | + | *'''Exercici 2''' | |
− | + | :Determina el tipus de dades de les expressions resultants en les següents assignacions | |
− | + | ::a) v_dies_que_falten := v_date - SYSDATE; | |
− | + | Number | |
− | + | ::b) v_sender := USER || ':' || TO_CHAR(v_deptno); | |
− | + | Caràcter | |
− | + | ::c) v_sum := $100,000+$250,000 | |
− | + | Incorrecte. No es poden convertir símbols especials de VARCHAR2 a NUMBER | |
+ | ::d) v_bandera := TRUE | ||
− | + | Booelan | |
− | + | ::e) v_n1 := v_n2 > (2*v_n3); | |
− | + | Boolean | |
− | + | ::f) v_valor := NULL; | |
− | + | Qualsevol tipus d'escalar. | |
− | |||
− | + | *'''Exercici 3''' | |
− | + | :Crea un bloc anònim per imprimir la frase “Benvingut a PL/SQL” | |
− | |||
− | |||
− | |||
− | |||
+ | <pre> | ||
+ | VARIABLE g_message VARCHAR2(30) | ||
BEGIN | BEGIN | ||
− | + | :g_message := 'My PL/SQL Block Works'; | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
END; | END; | ||
+ | / | ||
+ | PRINT g_message | ||
− | + | G_MESSAGE | |
+ | --------------------------------------------------------- | ||
+ | My PL/SQL Block Works | ||
+ | </pre> | ||
− | + | *'''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. Guarda el bloc PL/SQL en un arxiu anomenat p2q4.spl. | |
− | + | :::: V_CHAR Character (variable length) | |
− | + | :::: V_Number | |
− | + | :::: Assigna els següents valors a les variables: | |
− | |||
− | + | :::: Variable Value | |
− | + | :::: --------- --------------------------------------------- | |
− | + | :::: V_CHAR The literal '42 is the answer' | |
− | + | :::: V_NUM The first two characters form V_CHAR | |
− | + | <pre> | |
+ | VARIABLE g_char VARCHAR2(30) | ||
+ | VARIABLE g_num NUMBER | ||
+ | DECLARE | ||
+ | v_char VARCHAR2(30); | ||
+ | v_num NUMBER; | ||
+ | BEGIN | ||
+ | v_char := '42 is the answer'; | ||
+ | v_num := TO_NUMBER(SUBSTR(v_char,1,2)); | ||
+ | :g_char := v_char; | ||
+ | :g_num := v_num; | ||
+ | END; | ||
+ | / | ||
+ | PRINT g_char | ||
+ | PRINT g_num | ||
+ | </pre> |
Revisió del 16:49, 9 abr 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);
Correcte.
- b) DECLARE v_x, v_y,v_z VARCHAR2(10);
Incorrecte, perquè només es permet un identificador per declaració.
- c) DECLARE v_data_naixament DATE NOT NULL;
Incorrecte, perquè una variable NOT NULL ha d'inicialitzar-se.
- d) DECLARE v_en_stock BOOLEAN :=1
Incorrecte, perquè 1 no és una expressió booleana.
- Exercici 2
- Determina el tipus de dades de les expressions resultants en les següents assignacions
- a) v_dies_que_falten := v_date - SYSDATE;
Number
- b) v_sender := USER || ':' || TO_CHAR(v_deptno);
Caràcter
- c) v_sum := $100,000+$250,000
Incorrecte. No es poden convertir símbols especials de VARCHAR2 a NUMBER
- d) v_bandera := TRUE
Booelan
- e) v_n1 := v_n2 > (2*v_n3);
Boolean
- f) v_valor := NULL;
Qualsevol tipus d'escalar.
- Exercici 3
- Crea un bloc anònim per imprimir la frase “Benvingut a PL/SQL”
VARIABLE g_message VARCHAR2(30) BEGIN :g_message := 'My PL/SQL Block Works'; END; / PRINT g_message G_MESSAGE --------------------------------------------------------- My PL/SQL Block Works
- 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. Guarda el bloc PL/SQL en un arxiu anomenat p2q4.spl.
- V_CHAR Character (variable length)
- V_Number
- Assigna els següents valors a les variables:
- Variable Value
- --------- ---------------------------------------------
- V_CHAR The literal '42 is the answer'
- V_NUM The first two characters form V_CHAR
VARIABLE g_char VARCHAR2(30) VARIABLE g_num NUMBER DECLARE v_char VARCHAR2(30); v_num NUMBER; BEGIN v_char := '42 is the answer'; v_num := TO_NUMBER(SUBSTR(v_char,1,2)); :g_char := v_char; :g_num := v_num; END; / PRINT g_char PRINT g_num