Diferència entre revisions de la pàgina «M2 - Bases de dades / Exercicis UF3: Llenguatges SQL / Solucions PL-SQL T3»
De wikiserver
(Pàgina blanquejada) |
|||
Línia 1: | Línia 1: | ||
+ | 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 |
Revisió del 16:13, 9 abr 2014
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