P6-Trabajar con Tipos de Dato Compuestos
De wikiserver
1) Escriba un bloque PL/SQL para imprimir información sobre un país determinado.
a) Declare un registro PL/SQL basado en la estructura de la tabla countries. b) Declare una variable v_countryid. Asigne CA a v_countryid. c) En la sección de declaraciones, utilice el atributo %ROWTYPE y declare la variable v_country_record del tipo countries. d) En la sección ejecutable, obtenga toda la información de la tabla countries mediante v_countryid. Muestre la información seleccionada sobre el país. La salida de ejemplo es la siguiente: e) Puede que desee ejecutar y probar el bloque PL/SQL para los países con los identificadores DE, UK y US.
2) Cree un bloque PL/SQL para recuperar los nombres de algunos departamentos de la tabla departments e imprimir el nombre de cada departamento en la pantalla,incorporando una matriz asociativa. Guarde el script como P6_02.sql.
a) Declare una tabla INDEX BY dept_table_type del tipo departments.department_name. Declare una variable my_dept_table del tipo dept_table_type para almacenar temporalmente los nombres de los departamentos. b) Declare dos variables: f_loop_count y v_deptno del tipo NUMBER. Asigne 10 a f_loop_count y 0 a v_deptno. c) Con un bucle, recupere los nombres de 10 departamentos y almacene los nombres en la matriz asociativa. Empiece por department_id 10. Aumente v_deptno en 10 para cada iteración de bucle. La siguiente tabla muestra los valores department_id para los que se debe recuperar department_name. d) Si utiliza otro bucle, puede recuperar los nombres de los departamentos de la matriz asociativa y mostrarlos. e) Ejecute y guarde el script como lab_06_02_soln.sql. La salida es la siguiente:
3) Modifique el bloque creado anteriormente para recuperar toda la información acerca de cada departamento de la tabla departments y mostrarla. Utilice una matriz asociativa con el método de tabla de registros INDEX BY.
a) Cargue el script P6_02.sql. b) Ha declarado que la matriz asociativa sea del tipo departments.department_name. Modifique la declaración de la matriz asociativa para almacenar temporalmente el número, el nombre y la ubicación de todos los departamentos. Utilice el atributo %ROWTYPE. c) Modifique la sentencia SELECT para recuperar toda la información del departamento que está en la tabla departments y almacenarla en la matriz asociativa. d) Si utiliza otro bucle, puede recuperar la información de los departamentos de la matriz asociativa y mostrarla. La salida de ejemplo es la siguiente: