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
(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