Introduction to Oracle: SQL and PL/SQL, Instructor Guide, Volumen 1

Práctica 16: Declarando Variables --------------------------------------------------------------------

Ejercicio 1: Evalue cada una de las declaraciones siguientes. Determine cuáles no son l egales y explique porqué. a) b) c) d) DECLARE v_id DECLARE v_x, v_y, v_z DECLARE v_birthdate DECLARE v_in_stock Respuestas: ----------1.a) Legal. BOOLEAN := 1; DATE NOT NULL; VARCHAR2(10); NUMBER(4);

1.b) Ilegal, porque solo se permite un nombre de identificado r para definir una sola variable, en una declaración. 1.c) Ilegal, porque al utilizar la Restricción "NOT NULL" se le debe asignar un valor a la variable que se declara, y esto es lo que falta en l a declaración. 1.d) Ilegal, porque a una variable de tipo BOOLEAN se le pued e asignar uno de los tres valores siguientes: TRUE, FALSE, ó NULL. Ejercicio 2: En cada una de las asignaciones siguientes determine el tipo de dato de la expresión resultante. a) b) o); c) d) e) f) v_sum v_flag v_n1 v_value := := := := $100,000 + $250,000; TRUE; v_n2 > (2 * v_n3); NULL; v_days_to_go v_sender := := v_due_date - SYSDATE; USER ': ' TO_CHAR(v_dept_n

Respuestas: ----------2.a) Escalar -> Número Entero

2.b)

Escalar -> Cadena de Caracteres

2.c) Ilegal. No puede convertir símbolos monetarios desde el ti po de datos (de columnas) VARCHAR2 a NUMBER. 2.d) 2.e) 2.f) oleano. Ejercicio 3: Cree un bloque anónimo para mostrar en pantalla la frase "Mi Bloqu e PL/SQL Funciona". Respuesta: ---------1°) Declaración de una variable de ambiente del sistema: -------------------------------------------------------SQL> VARIABLE G_MESSAGE VARCHAR2(25); Definición del Bloque PL/SQL Anónimo: ------------------------------------SQL> BEGIN :G_MESSAGE := 'Mi Bloque PL/SQL Funciona'; END; / SQL> SQL> save PRINT p16q3.sql G_MESSAGE; Escalar -> Booleano Escalar -> Booleano Escalar -> Cualquier subtipo: Numérico ó Caracteres ó Fecha ó Bo

Respuesta del Apéndice A-54: ---------------------------SQL> edit p16q3_v2.sql

Contenido del archivo de comandos: p16q3_v2.sql ----------------------------------------------" VARIABLE G_MESSAGE VARCHAR2(25); BEGIN :G_MESSAGE := 'Mi Bloque PL/SQL Funciona'; END; / G_MESSAGE; start p16q3_v2.sql

PRINT " SQL>

Si tienes tiempo, completa los ejercicios siguientes. Ejercicio 4: Cree un Bloque que declara dos variables. Asigne los valores de esas variables PL/SQL para las variables de ambiente del sistema

e imprima los resultados de las variables PL/SQL en pantalla. Ej ecute el Bloque PL/SQL. Guarde el Bloque PL/SQL a un archivo nombrándolo p16q4.sql. Variables a declarar en el Bloque PL/SQL Anónimo: ------------------------------------------------V_CHAR V_NUM : -----------------------------------------------------------------V_CHAR V_NUM Respuesta: ---------1° Declaración de las variables de ambiente del sistema: -------------------------------------------------------SQL> SQL> VARIABLE VARIABLE G_CHAR G_NUM VARCHAR2(20); NUMBER; La cadena de caracteres '42 es la respuesta' Los primeros dos caracteres de V_CHAR Escalar Caracter (tamaño de la variable). Escalar Numérico.

Asigne los valores a esas variables como se muestra a continuación

2° Definición del Bloque PL/SQL Anónimo: ---------------------------------------SQL> BEGIN :G_CHAR := '42 es la respuesta'; :G_NUM := TO_NUMBER( SUBSTR(:G_CHAR, 1, 2) ); END; / SQL> save p16q4.sql

3° Muestra en pantalla las variables de ambiente del sistema: ------------------------------------------------------------SQL> SQL> PRINT PRINT G_CHAR; G_NUM;

Respuesta del Apéndice A-55: ---------------------------SQL> edit p16q4_v2.sql

Contenido del archivo de comandos p16q4_v2.sql ---------------------------------------------" VARIABLE G_CHAR VARCHAR2(20); VARIABLE G_NUM NUMBER; BEGIN :G_CHAR := '42 es la respuesta'; :G_NUM := TO_NUMBER( SUBSTR(:G_CHAR, 1, 2) ); END;

/ PRINT PRINT " SQL>

G_CHAR; G_NUM; start p16q4_v2.sql

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master Your Semester with a Special Offer from Scribd & The New York Times

Cancel anytime.