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) |
|||
Línia 9: | Línia 9: | ||
Correcte. | Correcte. | ||
− | + | ::b) DECLARE v_x, v_y,v_z VARCHAR2(10); | |
Incorrecte, perquè només es permet un identificador per declaració. | 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. | 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. | 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 | Number | ||
− | + | ::b) v_sender := USER || ':' || TO_CHAR(v_deptno); | |
Caràcter | Caràcter | ||
− | + | ::c) v_sum := $100,000+$250,000 | |
Incorrecte. No es poden convertir símbols especials de VARCHAR2 a NUMBER | Incorrecte. No es poden convertir símbols especials de VARCHAR2 a NUMBER | ||
− | + | ::d) v_bandera := TRUE | |
Booelan | Booelan | ||
− | + | ::e) v_n1 := v_n2 > (2*v_n3); | |
Boolean | Boolean | ||
− | + | ::f) v_valor := NULL; | |
Qualsevol tipus d'escalar. | 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) | VARIABLE g_message VARCHAR2(30) | ||
BEGIN | BEGIN | ||
Línia 63: | Línia 65: | ||
--------------------------------------------------------- | --------------------------------------------------------- | ||
My PL/SQL Block Works | My PL/SQL Block Works | ||
− | + | </pre> | |
Exercici 4 | Exercici 4 | ||
Revisió del 16:28, 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