Diferència entre revisions de la pàgina «M2 - Bases de dades / Exercicis UF3: Llenguatges SQL / Solucions PL-SQL T3»

De wikiserver
Dreceres ràpides: navegació, cerca
(T3- Declaració de variables)
Línia 9: Línia 9:
 
     Correcte.
 
     Correcte.
  
        b) DECLARE v_x, v_y,v_z VARCHAR2(10);  
+
::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;  
+
::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  
+
::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  
+
*'''Exercici 2'''   
  
    Determina el tipus de dades de les expressions resultants en les següents assignacions  
+
:Determina el tipus de dades de les expressions resultants en les següents assignacions  
  
        a) v_dies_que_falten := v_date - SYSDATE;  
+
::a) v_dies_que_falten := v_date - SYSDATE;  
  
 
     Number   
 
     Number   
  
        b) v_sender := USER || ':' || TO_CHAR(v_deptno);  
+
::b) v_sender := USER || ':' || TO_CHAR(v_deptno);  
  
 
     Caràcter
 
     Caràcter
  
        c) v_sum := $100,000+$250,000  
+
::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  
+
::d) v_bandera := TRUE  
  
 
     Booelan
 
     Booelan
  
        e) v_n1 := v_n2 > (2*v_n3);  
+
::e) v_n1 := v_n2 > (2*v_n3);  
  
 
     Boolean
 
     Boolean
  
        f) v_valor := NULL;  
+
::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”
+
*'''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