Manual Pl SQL

PL/SQL Developer 9.0 Guía del usuario Agosto 2011 Guía del usuario de PL/SQL Developer 9.0 2 Contenido 1. INTRODUCC

Views 220 Downloads 0 File size 4MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

PL/SQL Developer 9.0 Guía del usuario Agosto 2011

Guía del usuario de PL/SQL Developer 9.0

2

Contenido 1.

INTRODUCCIÓN. ............................................................................................................................ 7

2.

INSTALACIÓN. .............................................................................................................................. 11 2.1 2.2 2.3 2.4 2.5

REQUISITOS DEL SISTEMA. ....................................................................................................... 11 INSTALAR PL/SQL DEVELOPER EN UNA ESTACIÓN DE TRABAJO. ........................................ 11 INSTALAR PL/SQL DEVELOPER EN UN SERVIDOR. ................................................................ 11 INSTALACIÓN DESATENDIDA. .................................................................................................. 11 DESINSTALAR PL/SQL DEVELOPER. ...................................................................................... 12

3.

INICIO DE SESIÓN CONTRA UNA BASE DE DATOS ORACLE. .................................... 13

4.

ESCRIBIR PROGRAMAS ............................................................................................................ 15 4.1 4.2 4.3 4.4 4.5

5.

CREAR UN PROGRAMA ............................................................................................................. 15 GUARDAR UN PROGRAMA. ....................................................................................................... 16 MODIFICAR UN PROGRAMA. .................................................................................................... 17 COMPILAR UN PROGRAMA. ...................................................................................................... 17 OPCIONES DEL COMPILADOR. .................................................................................................. 18 PROBAR PROGRAMAS............................................................................................................... 19

5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 5.12 6.

CREAR UN ARCHIVO DE PRUEBA.............................................................................................. 19 EJECUTAR UN ARCHIVO DE PRUEBA. ....................................................................................... 20 TIPOS DE VARIABLES. ............................................................................................................... 21 GUARDAR ARCHIVOS DE PRUEBA. ........................................................................................... 22 CAPTURAR ERRORES EN TIEMPO DE EJECUCIÓN. .................................................................... 22 ESTADO DE LOS PAQUETES Y DE LAS SESIONES JAVA. ........................................................... 23 VER UN CONJUNTO DE RESULTADOS. ...................................................................................... 23 VER LA SALIDA GENERADA POR EL PAQUETE DBMS_OUTPUT. .............................................. 23 VER LA SALIDA HTP. ............................................................................................................... 24 DEPURAR................................................................................................................................... 24 TRAZAR LA EJECUCIÓN. ........................................................................................................... 27 PRUEBAS DE REGRESIÓN. ......................................................................................................... 28 OPTIMIZACIÓN. ........................................................................................................................... 29

6.1 6.2 6.3 6.4 7.

UTILIZAR LA VENTANA DEL PLAN DE EJECUCIÓN. ................................................................. 29 ESTADÍSTICAS AUTOMÁTICAS. ................................................................................................ 30 EL PERFILADOR DE PL/SQL. ................................................................................................... 31 TRAZAR INSTRUCCIONES SQL................................................................................................. 32 TRABAJAR CON SQL. ................................................................................................................. 34

7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10

UTILIZAR LA VENTANA DE CONSULTA SQL. .......................................................................... 34 MODIFICAR LOS RESULTADOS EN LA REJILLA DE RESULTADOS. ........................................... 36 FILTRAR RESULTADOS DE LA CONSULTA. ............................................................................... 40 CONSULTAS VINCULADAS........................................................................................................ 41 VARIABLES DE SUSTITUCIÓN. .................................................................................................. 41 ACTUALIZAR LA BASE DE DATOS. ........................................................................................... 42 VER Y EDITAR COLUMNAS DE TIPO XMLTYPE. .................................................................... 44 EXPORTAR CONSULTAS. ........................................................................................................... 44 GUARDAR ARCHIVOS SQL. ...................................................................................................... 44 CREAR CONSULTAS ESTÁNDAR. .............................................................................................. 45

Guía del usuario de PL/SQL Developer 9.0

8.

3

LA VENTANA DE COMANDOS. ............................................................................................... 46 8.1 8.2 8.3

INTRODUCIR COMANDOS E INSTRUCCIONES SQL. ................................................................. 46 DESARROLLAR ARCHIVOS DE COMANDOS. ............................................................................. 46 COMANDOS SOPORTADOS. ....................................................................................................... 48 CREAR Y MODIFICAR OBJETOS. .......................................................................................... 51

9. 9.1 9.2 9.3 9.4 9.5 9.6 9.7 9.8 9.9 9.10 9.11 9.12 10. 10.1 10.2 10.3 10.4 10.5 11. 11.1 11.2 11.3 11.4 11.5 11.6 12. 12.1 12.2 12.3 12.4 12.5 12.6 12.7

EL EDITOR DE TABLAS. ............................................................................................................. 51 EL EDITOR DE SECUENCIAS. ..................................................................................................... 62 EL EDITOR DE SINÓNIMOS. ....................................................................................................... 63 EL EDITOR DE LIBRERÍAS. ........................................................................................................ 63 EL EDITOR DE DIRECTORIOS. ................................................................................................... 64 EL EDITOR DE TRABAJOS DE LA BASE DE DATOS. ................................................................... 64 EL EDITOR DE LISTAS. .............................................................................................................. 64 EL EDITOR DE TABLAS DE LISTAS AVANZADAS. ..................................................................... 65 EL EDITOR DE USUARIOS. ......................................................................................................... 66 EL EDITOR DE ROLES. ............................................................................................................... 68 EL EDITOR DE PERFILES............................................................................................................ 69 EL EDITOR DE VÍNCULOS DE BASES DE DATOS. ...................................................................... 70 PLANIFICADOR DE TAREAS. .................................................................................................. 71 CREAR OBJETOS. ....................................................................................................................... 75 EDITAR OBJETOS. ...................................................................................................................... 76 BORRAR OBJETOS. .................................................................................................................... 76 VER INFORMACIÓN SOBRE LOS TRABAJOS FINALIZADOS. ...................................................... 76 VER INFORMACIÓN SOBRE LOS TRABAJOS EN EJECUCIÓN. .................................................... 78 DIAGRAMAS. ................................................................................................................................. 79 CREAR UN DIAGRAMA. ............................................................................................................. 79 ZOOM. ....................................................................................................................................... 83 GUARDAR Y ABRIR UN DIAGRAMA. ......................................................................................... 83 ACTUALIZAR UN DIAGRAMA.................................................................................................... 83 IMPRIMIR UN DIAGRAMA. ......................................................................................................... 83 EXPORTAR UN DIAGRAMA. ...................................................................................................... 83 INFORMES. ..................................................................................................................................... 84 INFORMES ESTÁNDAR............................................................................................................... 84 INFORMES PERSONALIZADOS. .................................................................................................. 85 VARIABLES. .............................................................................................................................. 85 DEFINIR EL DISEÑO DE LOS INFORMES. ................................................................................... 91 LA LIBRERÍA DE ESTILOS. ......................................................................................................... 97 OPCIONES. ................................................................................................................................. 98 EL MENÚ I NFORMES. ................................................................................................................ 99

13.

GRÁFICOS..................................................................................................................................... 101

14.

PROYECTOS................................................................................................................................. 103

14.1 14.2 14.3 14.4 14.5

CREAR UN NUEVO PROYECTO. ............................................................................................... 103 GUARDAR UN PROYECTO. ...................................................................................................... 104 AÑADIR ARCHIVOS A UN PROYECTO. .................................................................................... 104 AÑADIR OBJETOS DE LA BASE DE DATOS A UN PROYECTO. ................................................. 104 TRABAJAR CON LOS ELEMENTOS DEL PROYECTO................................................................. 104

Guía del usuario de PL/SQL Developer 9.0

14.6 15.

COMPILAR UN PROYECTO. ..................................................................................................... 105 ELEMENTOS PENDIENTES. ................................................................................................... 107 CREAR UN ELEMENTO PENDIENTE. ........................................................................................ 108 EDITAR UN ELEMENTO PENDIENTE. ....................................................................................... 108 CERRAR UN ELEMENTO PENDIENTE....................................................................................... 109 BORRAR UN ELEMENTO PENDIENTE. ..................................................................................... 109

15.1 15.2 15.3 15.4 16.

LA LISTA DE CONEXIONES. .................................................................................................. 110

16.1 16.2 17.

USAR LA LISTA DE CONEXIONES. ........................................................................................... 110 DEFINIR CARPETAS Y CONEXIONES. ...................................................................................... 112 CONEXIONES, VENTANAS, SESIONES Y TRANSACCIONES. ..................................... 115

17.1 17.2 17.3 17.4 18.

LA CONEXIÓN PRINCIPAL ....................................................................................................... 115 CONEXIONES DE LAS VENTANAS ........................................................................................... 115 MODO DE LA SESIÓN. ............................................................................................................. 116 EJECUTAR PL/SQL DEVELOPER EN MODO MULTISESIÓN O MODO D UAL. ......................... 116 EXPLORAR OBJETOS DE LA BASE DE DATOS. .............................................................. 117 UTILIZAR EL EXPLORADOR DE OBJETOS. ............................................................................. 117 CONFIGURAR LOS FILTROS DEL EXPLORADOR DE OBJETOS. ............................................... 123 CONFIGURAR LAS CARPETAS DEL EXPLORADOR DE OBJETOS. ........................................... 124

18.1 18.2 18.3 19.

EXPLORADOR ARCHIVOS. .................................................................................................... 127

19.1 19.2 20.

4

CONFIGURAR EL EXPLORADOR DE ARCHIVOS. .................................................................... 127 UTILIZAR EL EXPLORADOR DE ARCHIVOS............................................................................ 128 PREFERENCIAS. ......................................................................................................................... 131

20.1 20.2 20.3 20.4 20.5 20.6 20.7 20.8 20.9 20.10 20.11 20.12 20.13 20.14 20.15 20.16 20.17 20.18 20.19 20.20 20.21 20.22 20.23

ORACLE - CONEXIÓN.............................................................................................................. 131 ORACLE - OPCIONES............................................................................................................... 133 ORACLE - COMPILADOR. ........................................................................................................ 134 ORACLE - DEPURADOR. ......................................................................................................... 135 ORACLE - SALIDA. .................................................................................................................. 137 ORACLE - TRAZADOR. ............................................................................................................ 137 ORACLE - PERFILADOR. ......................................................................................................... 138 ORACLE - H ISTORIAL DE CONEXIONES. ................................................................................ 138 ORACLE - SUGERENCIAS. ....................................................................................................... 141 INTERFACE DE USUARIO - OPCIONES..................................................................................... 142 INTERFAZ DE USUARIO - BARRA DE HERRAMIENTAS. .......................................................... 144 INTERFAZ DE USUARIO - EXPLORADOR DE OBJETOS. .......................................................... 144 INTERFAZ DE USUARIO - EDITOR. .......................................................................................... 145 INTERFAZ DE USUARIO - FUENTES ......................................................................................... 148 INTERFAZ DE USUARIO - ASISTENTE DE CÓDIGO. ................................................................. 150 INTERFAZ DE USUARIO - CONFIGURACIÓN DEL TECLADO. .................................................. 151 INTERFAZ DE USUARIO - APARIENCIA. .................................................................................. 151 INTERFAZ DE USUARIO - NLS. ............................................................................................... 153 TIPOS DE VENTANAS - VENTANA DE PROGRAMA ................................................................ 154 TIPOS DE VENTANAS - VENTANA DE CONSULTA SQL.......................................................... 155 TIPOS DE VENTANA - VENTANA DE PRUEBA. ........................................................................ 158 TIPOS DE VENTANAS - PLAN DE EJECUCIÓN.......................................................................... 158 HERRAMIENTAS - COMPARACIÓN. ........................................................................................ 158

Guía del usuario de PL/SQL Developer 9.0

20.24 20.25 20.26 20.27 20.28 20.29 20.30 20.31 20.32 20.33 20.34 21.

23.1

EXPLORADOR DE OBJETOS. ................................................................................................... 169 BUSCAR OBJETOS DE LA BASE DE DATOS. ............................................................................. 169 COMPILAR OBJETOS NO VALIDOS. ......................................................................................... 170 EXPORTAR TABLAS................................................................................................................. 171 IMPORTAR TABLAS. ................................................................................................................ 173 EXPORTAR OBJETOS. .............................................................................................................. 176 IMPORTAR TEXTO. .................................................................................................................. 177 IMPORTAR ODBC. .................................................................................................................. 181 GENERADOR DE DATOS. ......................................................................................................... 183 COMPARAR OBJETOS. ............................................................................................................. 187 COMPARAR DATOS ENTRE TABLAS. ...................................................................................... 190 MONITOR DE EVENTOS. .......................................................................................................... 192 MONITOR DE SESIONES. ......................................................................................................... 193 HERRAMIENTAS DEFINIDAS POR EL USUARIO. ...................................................................... 196 ORGANIZADOR DE CASOS DE PRUEBA. .................................................................................. 200

EL EDITOR. .................................................................................................................................. 205

22.1 22.2 22.3 22.4 22.5 22.6 22.7 22.8 22.9 22.10 22.11 22.12 22.13 22.14 22.15 22.16 22.17 22.18 22.19 23.

HERRAMIENTAS - GENERADOR DE DATOS. ........................................................................... 159 HERRAMIENTAS - LISTA DE ELEMENTOS PENDIENTES. ........................................................ 160 HERRAMIENTAS - LISTA DE INSTRUCCIONES EJECUTADAS.................................................. 160 ARCHIVOS - D IRECTORIOS ..................................................................................................... 160 ARCHIVOS - EXTENSIONES..................................................................................................... 162 ARCHIVOS - FORMATOS. ........................................................................................................ 162 ARCHIVOS - COPIA DE SEGURIDAD........................................................................................ 163 ARCHIVOS - HTML/XML. ..................................................................................................... 164 OTROS - IMPRIMIR. ................................................................................................................. 164 OTROS - ACTUALIZACIONES Y NOTICIAS. ............................................................................. 165 ESTABLECER LAS PREFERENCIAS. ......................................................................................... 166

HERRAMIENTAS. ....................................................................................................................... 169

21.1 21.2 21.3 21.4 21.5 21.6 21.7 21.8 21.9 21.10 21.11 21.12 21.13 21.14 21.15 22.

5

FUNCIONES DE SELECCIÓN. .................................................................................................... 205 SELECCIÓN DE COLUMNAS. .................................................................................................... 205 ASISTENTE DE CÓDIGO. .......................................................................................................... 205 HISTORIAL DE INSTRUCCIONES.............................................................................................. 207 FORMATO ESPECIAL. .............................................................................................................. 207 AYUDA SENSIBLE AL CONTEXTO. .......................................................................................... 209 MENÚ CONTEXTUAL DE LOS OBJETOS DE LA BASE DE DATOS. ............................................ 209 PLAN DE EJECUCIÓN. .............................................................................................................. 209 MACROS. ................................................................................................................................. 209 MARCADORES. ........................................................................................................................ 210 MARCADOR DE COLOR. .......................................................................................................... 211 CONTENIDO DEL CÓDIGO. ...................................................................................................... 211 JERARQUÍA DEL CÓDIGO. ....................................................................................................... 212 MOSTRAR / OCULTAR CÓDIGO. ............................................................................................. 213 DIVISIÓN DEL EDITOR DE CÓDIGO. ........................................................................................ 214 NAVEGACIÓN MEDIANTE VÍNCULOS. .................................................................................... 214 BOTONES DE NAVEGACIÓN. ................................................................................................... 215 REFACTORIZACIÓN. ................................................................................................................ 215 BARRA DE BÚSQUEDA. ........................................................................................................... 216

EL EDITOR DE DATOS. ............................................................................................................ 218 EDITAR ARCHIVOS DE TEXTO................................................................................................. 219

Guía del usuario de PL/SQL Developer 9.0

23.2 23.3 23.4 23.5 23.6 23.7 24. 24.1 24.2 24.3 24.4 24.5 25. 25.1 25.2 25.3 25.4 26. 26.1 26.2 26.3

6

EDITAR DATOS EN FORMATO RTF. ........................................................................................ 219 EDITAR DATOS EN FORMATO XML. ...................................................................................... 219 EDITAR HTML ....................................................................................................................... 220 EDITAR IMÁGENES. ................................................................................................................. 221 EDITAR DATOS EN FORMATO HEXADECIMAL. ...................................................................... 221 CARGAR UN VISOR O UN EDITOR EXTERNO........................................................................... 222 CONSTRUCTOR DE CONSULTAS. ........................................................................................ 224 CREAR UNA NUEVA CONSULTA DE SELECCIÓN. ................................................................... 224 MODIFICAR UNA CONSULTA DE SELECCIÓN EXISTENTE. ..................................................... 227 MANIPULAR LA DEFINICIÓN DE LA CONSULTA. .................................................................... 227 OPCIONES DEL CONSTRUCTOR DE CONSULTAS..................................................................... 228 COMPLEMENTOS DEL CONSTRUCTOR DE CONSULTAS. ....................................................... 229 PL/SQL BEAUTIFIER. ................................................................................................................ 231 CONFIGURAR PL/SQL BEAUTIFIER....................................................................................... 231 DEFINIR LAS REGLAS DE PL/SQL BEAUTIFIER..................................................................... 231 UTILIZANDO PL/SQL BEAUTIFIER. ....................................................................................... 233 ELIMINANDO EL FORMATO APLICADO POR PL/SQL BEAUTIFIER. ...................................... 233 PLANTILLAS. ............................................................................................................................... 234 LA VENTANA DE PLANTILLAS. ............................................................................................... 234 UTILIZAR LAS PLANTILLAS. ................................................................................................... 235 CREAR Y MODIFICAR PLANTILLAS......................................................................................... 236

27.

LISTA DE VENTANAS. .............................................................................................................. 240

28.

BARRAS DE HERRAMIENTAS. .............................................................................................. 241

29.

AUTORIZACIONES. ................................................................................................................... 243

29.1 29.2 29.3 30. 30.1 30.2 31. 31.1 31.2 32. 32.1 32.2 32.3 32.4 32.5 32.6

HABILITAR EL SISTEMA DE AUTORIZACIONES. ..................................................................... 243 DEFINIR AUTORIZACIONES..................................................................................................... 243 DESHABILITAR EL SISTEMA DE AUTORIZACIONES. ............................................................... 245 SISTEMA DE ARCHIVOS DE ORACLE. ............................................................................... 246 ORGANIZADOR OFS. .............................................................................................................. 246 UTILIZAR OFS. ....................................................................................................................... 248 SISTEMA DE AYUDA. ................................................................................................................ 250 ARCHIVOS DE AYUDA MS HELP. ........................................................................................... 250 MANUALES HTML. ................................................................................................................ 250 PERSONALIZAR PL/SQL DEVELOPER............................................................................... 254 PREFERENCIAS. ....................................................................................................................... 254 DISPOSICIÓN DE LAS VENTANAS............................................................................................ 254 DOCUMENTACIÓN EN LÍNEA. ................................................................................................. 254 PARÁMETROS DE LA LÍNEA DE COMANDOS. ......................................................................... 256 SQL, PL/SQL Y PALABRAS RESERVADAS Y COMANDOS. .................................................... 259 COMPLEMENTOS. .................................................................................................................... 259

Guía del usuario de PL/SQL Developer 9.0

7

1. Introducción. PL/SQL Developer es un entorno integrado de desarrollo (IDE) que le permite desarrollar unidades de programa almacenadas en un servidor de bases de datos Oracle. Utilizando PL/SQL Developer puede crear la parte servidor de sus aplicaciones cliente/servidor. En el mejor de los casos, hasta ahora, ha trabajado de esta forma: • Utilizando un editor de texto para escribir las unidades de programa (procedimientos, funciones, disparadores, etc.). • •

• •

Utilizando Oracle SQL*Plus para compilar su código fuente. En caso de producirse un error durante el proceso de compilación, tiene que localizar en que parte del código fuente se ha producido el error, corregirlo y volver a SQL*Plus para compilar el código de nuevo. Teniendo que seguir todos estos pasos únicamente para corregir un error y repetir el proceso por cada nuevo error que se encuentre durante el proceso de compilación.

Utilizar SQL*Plus o la parte cliente de su aplicación para probar las unidades de programa. En caso de que se produzca un error en tiempo de ejecución, tiene que localizar la causa del problema y corregirlo. • Utilizando la herramienta Explain Plan o tkprof para optimizar sus instrucciones SQL. • Para ver o modificar otros objetos y datos en su base de datos, utiliza SQL*Plus u otra herramienta. Estas tareas – editar, compilar, corregir, probar, depurar, optimizar y consultar – pueden realizarse sin abandonar el entorno de desarrollo de PL/SQL Developer. Además, PL/SQL Developer le proporciona otras herramientas que le pueden resultar útiles durante su trabajo diario.

Guía del usuario de PL/SQL Developer 9.0

8

Edición. PL/SQL Developer, al igual que otros entornos de desarrollo, asume que almacena su código fuente en una unidad de disco. Otras herramientas de desarrollo solo le permiten editar el código directamente de su base de datos, sin permitir la utilización de ningún sistema de control de versiones. El código fuente generado puede ejecutarse mediante la herramienta SQL*Plus de Oracle, con lo que puede ejecutarlo en otra plataforma sin necesidad de emplear PL/SQL Developer. Puede editar todos los archivos que quiera gracias a la interfaz MDI (Multiple Document Interface) de PL/SQL Developer. El editor le ofrece un amplio abanico de ayuda al programador. Existe ayuda sensible al contexto para las instrucciones de SQL y PL/SQL. A todos nos ha ocurrido alguna vez: empieza a teclear substr, pero ha olvidado el significado exacto de los parámetros. Simplemente con pulsar la F1, aparecerá el tema exacto del manual SQL Reference de Oracle. Las tablas, vistas y unidades de programa pueden describirse mediante una ventana desplegable desde el editor. El asistente de código integrado en el editor, le muestra automáticamente la información de los objetos de la base de datos a medida que va tecleando sus nombres, permitiéndole explorar y seleccionar los elementos desde su descripción. Si dispone de paquetes de código y tipos muy grandes, el editor de programas le proporciona un árbol de navegación donde se muestra el contenido del código para una navegación más rápida, permitiéndole el uso de botones para moverse hacia delante y hacia atrás, mostrar u ocultar código y la navegación mediante vínculos. El constructor de consultas le permite crear consultas de selección de forma grafica. Las plantillas extensibles de PL/SQL Developer le permiten insertar código SQL y PL/SQL en sus programas. Todos los editores resaltan de forma apropiada la sintaxis del código SQL, PL/SQL y SQL*Plus, para hacer la lectura del código más legible.

Compilar y corregir errores. Desde el editor puede compilar un archivo de código. En caso de que se produzca un error de compilación el programa le llevará automáticamente a la línea de código adecuada. Todos los errores de compilación se muestran en una lista situada en la parte inferior del editor. Esta lista puede incluir sugerencias para la codificación de código PL/SQL que pueden ayudarle a localizar errores comunes de programación o violaciones en la nomenclatura empleada. Puede compilar un archivo sin guardarlo, con lo que puede explorar formas alternativas de resolver un problema. El editor mantiene el control sobre todos los cambios que ha realizado en el archivo sin guardarlo o compilarlo.

Probar unidades de programa. Para probar sus unidades de programa, puede escribir archivos de prueba. El cuerpo del archivo de prueba contiene bloques de código PL/SQL en los cuales puede programar el código que desea probar. Cualquier variable que quiera utilizar en el boque puede ser declarada, asignada a un valor de entrada y vista después de la ejecución. Cuando ejecute un archivo de prueba, puede ocurrir que se produzca un error en tiempo de ejecución. En este caso, PL/SQL Developer le permite ver el contenido de la pila errores. Cada línea de código de la pila de errores que este relacionada con un error en tiempo de ejecución se resaltará, con lo que puede volver fácilmente al error causante del problema. Si utiliza la versión 7.3.4 de Oracle o una versión posterior puede utilizar el depurador integrado de PL/SQL Developer. Puede ejecutar paso a paso el código, establecer puntos de interrupción, ver/establecer variables, ver la pila de llamadas, etc. En la versión 8i de Oracle (y superiores) puede utilizar de forma adicional el paquete dbms_trace para controlar los eventos seleccionados de una ejecución de un programa. Esto le ayudará a analizar el flujo del programa y las excepciones. Los resultados de las llamadas a los paquetes dbms_output y PL/SQL Web Toolkit se muestran de forma automática en la correspondiente pestaña de la ventana de pruebas.

Guía del usuario de PL/SQL Developer 9.0

9

Para realizar pruebas de regresión puede utilizar el Organizador de casos de pruebas para ejecutar y verificar rápidamente un conjunto de archivos de prueba.

Optimizar el código. Para optimizar las instrucciones de código SQL en sus unidades de programa, la herramienta Explain Plan de Oracle puede serle de gran ayuda. Además se encuentra integrada en PL/SQL Developer. Simplemente con seleccionar la instrucción deseada y presionar F5, PL/SQL Developer le presenta el plan de ejecución de la consulta en una ventana separada Explain Plan. Puede modificar la instrucción para optimizar su plan de ejecución y copiarlo nuevamente. También puede ver las estadísticas sobre las instrucciones SQL y las unidades de programa PL/SQL. Esas estadísticas pueden incluir el tiempo transcurrido, tiempo de procesador consumido, número de lecturas lógicas, número de lecturas físicas, número físico de escrituras, etc. Oracle8i introduce un perfilador de código PL/SQL que le permite optimizar la cantidad de recursos que consume su código PL/SQL. Por cada línea de código PL/SQL ejecutada puede determinar el tiempo de ejecución y cuantas veces se ha ejecutado dicha línea.

Consultar datos. Para consultar los datos en la base de datos, puede utilizar la ventana de consulta SQL para ejecutar cualquier instrucción SQL. El historial de todas las instrucciones ejecutadas se mantienen en memoria. Los resultados de cualquier consulta se muestran de forma conveniente en una rejilla separada en la que acto seguido podrá insertar, actualizar o borrar registros. La rejilla de resultados puede ser utilizada adicionalmente para filtrar consultas, con lo que puede filtrar fácilmente la información que necesite. Para consultar los objetos de la base de datos puede utilizar el Explorador de Objetos. Todas las propiedades relevantes de los objetos de la base de datos como tablas, vistas, secuencias, procedimientos, funciones, paquetes, tipos, triggers y dependencias entre objetos. El Explorador de Objetos utiliza una vista en modo árbol, similar a la utilizada en el explorador de Windows, para una exploración más sencilla.

Ejecutar archivos SQL. PL/SQL Developer incluye una ventana de comandos que puede ser utilizada para ejecutar archivos SQL o ejecutar instrucciones. Adicionalmente puede ejecutar comandos similares a los comandos empleados en la herramienta SQL*Plus de Oracle.

Crear y modificar la definición de las tablas. Puede crear y modificar fácilmente la definición de las tablas sin utilizar ninguna instrucción SQL. Simplemente rellenando la información de definición en un cuadro de diálogo puede modificar columnas, restricciones, índices, privilegios, información sobre almacenamiento, comentarios, etc. Puede aplicar esta definición en la base de datos o ver, modificar y guardar la instrucción SQL resultante.

Diagramas. Para visualizar los objetos de la base de datos de su aplicación o proyecto y sus relaciones, puede crear diagramas. Un diagrama puede utilizarse con el propósito de documentar, pero también como un espacio de trabajo para utilizar con objetos relacionados entre sí.

Informes. PL/SQL Developer viene con conjunto predefinido de informes estándar, basados en el estándar HTML. Puede ver, imprimir o guardar esos informes como archivos HTML desde el propio PL/SQL Developer.

Guía del usuario de PL/SQL Developer 9.0

10

También puede crear sus propios informes y acceder a ellos fácilmente desde el menú informes de la ventana principal de PL/SQL Developer.

Gráficos. La Ventana de Gráficos puede ejecutarse desde una Ventana de Consulta o desde una Ventana de Informes para obtener una representación grafica de los datos consultados.

Proyectos. Para organizar su trabajo puede utilizar el administrador de proyectos de PL/SQL Developer. Un proyecto consiste en un conjunto de archivos y objetos de base de datos. Puede acceder fácilmente a esos objetos a través de la ventana de elementos del proyecto y compilarlos mediante un simple clic.

Herramientas. PL/SQL Developer le proporciona diversas herramientas que pueden resultarle útiles durante el proceso de desarrollo. Entre ellas se incluyen por ejemplo, herramientas para la búsqueda de objetos dentro la base de datos, permitiéndole buscar un texto concreto dentro del código de los objetos de la base de datos. PL/SQL Developer también le proporciona herramientas para compilar objetos que han sido marcados como no validos durante el proceso de desarrollo, así como herramientas para importar, exportar y generar datos, que le permitirán crear conjuntos de datos para utilizar en futuras pruebas. También contiene herramientas para comparar las definiciones de los objetos de dos usuarios, un monitor de sesiones, un monitor de eventos y un planificador de tareas DBMS que le permitirá gestionar los distintos trabajos y objetos del planificador de Oracle. De forma adicional a estas herramientas, PL/SQL Developer le permite definir sus propias herramientas e incluirlas en el menú herramientas de PL/SQL Developer.

Guía del usuario de PL/SQL Developer 9.0

11

2. Instalación. Existen dos formas de instalar PL/SQL Developer: • Instalación en modo cliente. En este caso usted instala el software localmente en cada una de las estaciones de trabajo en las que va a utilizar el programa. • Instalación en modo servidor. En este caso usted instala el software en el servidor, en un directorio que sea accesible a cada estación de trabajo en la que se utilizará el programa. Los dos tipos de instalación se explican en este capítulo:

2.1

Requisitos del sistema.

PL/SQL Developer es una aplicación diseñada para ejecutarse sobre la plataforma Windows, a partir de Windows 2000 o una versión superior, y es compatible con Oracle Server 7.0 o una versión superior. Para poder conectar con una base de datos Oracle, PL/SQL Developer requiere la versión de 32-bits de Oracle Client 7.0. Si usted utiliza la versión de 64-bits de Oracle Client u Oracle Server, necesitará instalar adicionalmente la versión de 32-bits de Oracle Client.

2.2

Instalar PL/SQL Developer en una estación de trabajo.

Para instalar PL/SQL Developer localmente en una estación de trabajo, ejecute el programa de instalación desde el soporte entregado. Tras hacerlo, aparecerá el siguiente cuadro de diálogo;

Puede seleccionar el directorio de destino para los archivos de programa, la carpeta de inicio, la situación del acceso directo de PL/SQL Developer. Después de presionar el botón Finalizar en la última página del asistente de instalación, se copiarán los archivos de programa y se crearán los accesos directos.

2.3

Instalar PL/SQL Developer en un servidor.

Para una licencia multiusuario puede crear un sólo archivo de instalación de PL/SQL Developer en el servidor y permitir el acceso a todos los usuarios con licencia. Para hacer esto debe ejecutar el programa en el servidor de la misma forma descrita en la sección anterior. Debe seleccionar un directorio compartido con todos los usuarios que utilizarán el software. Cuando PL/SQL Developer se ejecuta por primera vez en una estación de trabajo, este tipo de instalación se detecta automáticamente, y la instalación local se completa por si misma sin que el usuario reciba ningún tipo de notificación: PL/SQL Developer puede instalarse en un directorio donde los usuarios sólo tengan permisos de lectura.

2.4

Instalación desatendida.

De forma adicional al proceso de instalación descrito anteriormente, puede crear un archivo para realizar una instalación desatendida. Lea el archivo install.txt para obtener información más detallada sobre este proceso.

Guía del usuario de PL/SQL Developer 9.0

2.5

Desinstalar PL/SQL Developer.

Si por cualquier motivo desea desinstalar PL/SQL Developer, puede hacerlo directamente desde el módulo Añadir/Quitar Programas del Panel de control.

12

Guía del usuario de PL/SQL Developer 9.0

13

3. Inicio de sesión contra una base de datos Oracle. Después de iniciar PL/SQL Developer por primera vez, se le pedirá que inicie una sesión contra una base de datos Oracle:

Si cancela este cuadro de diálogo de inicio de sesión podrá continuar sin establecer una conexión contra una base de datos de Oracle. Al hacer esto se desactivarán todas las funciones de PL/SQL Developer que requieran una conexión contra una base de datos, tales como las funciones de compilación o las de consulta de datos, etc. Posteriormente, podrá conectar el entorno de desarrollo de PL/SQL Developer para poder utilizar estas funciones. Después de introducir su nombre de usuario, su contraseña y la base de datos a la que desea conectar haca clic en el botón Aceptar o pulse la tecla , se conectará a la base de datos y se mostrará el entorno de desarrollo de PL/SQL Developer. Desde este momento, podrá escribir programas en lenguaje PL/SQL, realizar diferentes pruebas de estos programas, realizar consultas contra la base de datos, etc... tal y como se describe en capítulos posteriores. Si tiene múltiples bases de datos o varias cuentas en sus bases de datos, puede crear conexiones adicionales si utiliza el elemento de menú Inicio de sesión desde el menú Sesiones, o mediante el botón de Inicio de sesión que se encuentra la barra de herramientas principal de PL/SQL Developer. Cada conexión adicional se añadirá a la lista de conexiones (ver capítulo 16), para que posteriormente, pueda para ver y administrar todas sus conexiones. La próxima vez que inicie PL/SQL Developer puede iniciar la sesión seleccionando la conexión desde la lista de conexiones.

Posibles problemas durante la utilización del cuadro de diálogo de inicio de sesión El cuadro de diálogo de inicio de sesión puede fallar por las siguientes razones: 1. Por no tener el software cliente de Oracle instalado. Este es un requisito necesario para que PL/SQL Developer funcione correctamente. Por favor, instale el software cliente de Oracle y vuelva a intentar la conexión contra sus bases de datos. 2. Es probable que tenga más de una instalación del software cliente de Oracle. En este caso, es probable que PL/SQL Developer haya elegido un cliente de Oracle que no sea apropiado. Cierre el cuadro de diálogo de inicio de sesión y diríjase al menú Herramientas y seleccione el elemento del menú Preferencias, una vez que se encuentre en la ventana de Preferencias diríjase a la sección Oracle/Conexión, seleccione el archivo correcto de inicio de Oracle en la lista de selección, reinicie PL/SQL Developer y vuelva a intentar la conexión contra sus bases de datos. 3. Es probable que utilice un cliente de Oracle Instant, pero que no haya establecido todas las variables de entorno necesarias: • PATH - Esta variable debe incluir el directorio del de Oracle Instant (el directorio donde se encuentra el archivo oci.dll). • TNS_ADMIN - Esta variable debe apuntar obligatoriamente al directorio donde se encuentra el archivo tnsnames.ora.

Guía del usuario de PL/SQL Developer 9.0

14

• NLS_LANG - Esta variable define el idioma, ubicación y conjunto de caracteres para el cliente.

Guía del usuario de PL/SQL Developer 9.0

15

4. Escribir programas En una base de datos de Oracle, puede distinguir 5 tipos distintos de unidades de programa almacenadas, funciones, procedimientos, paquetes, tipos y disparadores. El editor de programas le permite crear y modificar estos cinco tipos de unidades de programa de una manera uniforme.

4.1

Crear un programa

Para crear un nuevo programa, presione el botón Nuevo situado en la barra de herramientas y seleccione el elemento Ventana de programa y, por ejemplo, el sub elemento Function. Acto seguido se nos preguntará por distintas variables que son importantes para este tipo de programa. En nuestro caso, estamos creando una función, y necesita introducir el nombre de la misma, sus parámetros y el tipo de datos que devuelve:

Como indica el título del cuadro de diálogo, esta información proviene de una plantilla. PL/SQL Developer proporciona diversas plantillas estándar, que puede modificar para adaptarlas a sus necesidades. También puede definir nuevas plantillas. Podrá encontrar información importante sobre la definición de plantillas en el capítulo 26. Después de introducir las variables necesarias y presionar el botón Aceptar la ventana del editor de programas aparecerá con la plantilla de la función en ella. Cada programa que cree en el editor de programas, debe comenzar con la ya familiar sintaxis del lenguaje SQL ‘create or replace’. En este caso estamos creando la función ‘even’ y el código fuente podría parecerse al que se muestra a continuación:

En la parte izquierda de la pantalla puede ver la herramienta de contenido del código, que muestra la estructura de la unidad de programa. Este sistema resulta de utilidad, cuando navega por grandes unidades de programa como el cuerpo de un paquete o el cuerpo de los distintos tipos. Esta característica se describe con más detalle en el capítulo 22.12. En la parte superior del editor puede ver la jerarquía del código, que muestra la jerarquía desde la posición del cursor. En este caso le informa de que se encuentra situado en una Instrucción dentro de la Secuencia de instrucciones de la Función. Para programas complejos, esto puede resultarle de utilidad

Guía del usuario de PL/SQL Developer 9.0

16

para ver exactamente, donde se encuentra situado, y puede ayudarle a seleccionar ciertas porciones de código PL/SQL. Esta característica se describe con más detalle en el capítulo 22.13. Un programa puede contener más de una unidad de programa. Si hace clic con el botón derecho del ratón sobre la ventana del editor de programas, aparecerá un menú contextual, que le permite añadir o eliminar una unidad de programa. Puede cambiar entre las unidades de programa seleccionando la pestaña apropiada en la parte superior de la ventana. De esta forma puede mantener juntas las unidades de programa en un sólo archivo de código. Las especificaciones y cuerpos de los paquetes de la base de datos son un buen ejemplo de esta característica. Una unidad de programa debería colocarse después de cualquier otra unidad de programa en el archivo de código a la que haga referencia. Si crea una función llamada ‘odd’ que hace referencia a una función creada con anterioridad llamada ‘even’, el editor de programa debería parecerse a:

4.2

Guardar un programa.

Puede guardar un programa si presiona el botón Guardar situado en la barra de herramientas. Aparecerá un cuadro de diálogo donde podrá ver las extensiones estándar para los programas. Tipo de programa Función.

Extensión .fnc

Procedimiento.

.prc

Especificación y cuerpo de un paquete.

.pck

Especificación de un paquete.

.spc

Cuerpo de un paquete.

.bdy

Especificación y cuerpo de un tipo.

.typ

Especificación de un tipo.

.tps

Cuerpo de un tipo.

.tpb

Disparador.

.trg

Código fuente Java.

.jsp

Puede cambiar estas extensiones a través de las opciones que se describen en el capítulo 20.28. Si sólo existe una función, procedimiento, paquete, tipo, disparador o fuente java en el programa, el nombre del archivo se hereda automáticamente del nombre y tipo de la unidad de programa. Después de guardar el archivo, su nombre se mostrará en la ventana de título. El programa almacenado tiene un formato compatible con Oracle SQL*Plus. Como ejemplo, el archivo de código que contiene las funciones ‘odd’ y ’even’ debe parecerse al siguiente:

Guía del usuario de PL/SQL Developer 9.0

17

create or replace function Even(Value in integer) return boolean is Result boolean; begin -- Check if there is a remainder after dividing by 2 Result := (Value mod 2 = 0); return(Result); end Even; / create or replace function Odd(Value in integer) return boolean is Result boolean; begin Result := not Even(Value); return(Result); end Odd; /

Cuando ejecute este archivo mediante la herramienta SQL*Plus de Oracle, se crearán ambas funciones.

4.3

Modificar un programa.

Puede abrir un archivo guardado previamente si presiona el botón Abrir situado en la barra de herramientas y presionando posteriormente el elemento Programa. Si el archivo se ha utilizado recientemente, puede abrirlo si selecciona el elemento Archivos recientes desde el menú Archivo o si hace clic con el botón izquierdo del ratón en la flecha cercana al botón Abrir situado en la barra de herramientas. Cuando comience a editar el documento, se activará un indicador de color azul en la parte inferior de la ventana. Esto indica que el archivo se ha modificado, pero que no se ha guardado todavía. Si el indicador es de color amarillo, indica que el archivo se ha modificado pero todavía no se ha realizado el proceso de compilación.

4.4

Compilar un programa.

Puede compilar un programa si presiona el botón Ejecutar situado en la barra de herramientas. Todas las unidades del programa se compilan, empezando por la primera, independientemente de la unidad de programa que se encuentra actualmente seleccionada. Cuando ocurre un error de compilación finaliza el proceso y el editor se posiciona en la línea de código que ha provocado el error:

Si hay más de un error y desea corregirlos, puede hacer clic en el siguiente mensaje de error en la parte inferior del editor de programas para ir a la posición del error. Si ha configurado PL/SQL Developer para utilizar los manuales HTML descritos en el capítulo 31.2, puede hacer doble clic sobre un error de compilación para mostrar el párrafo correspondiente del manual Oracle Error Messages. La lista de errores de compilación puede contener sugerencias del compilador. Las sugerencias del compilador no provocan que el proceso de compilación falle, pero indican un problema que podría causar un error en tiempo de ejecución (como el realizar una comparación con un valor nulo, una

Guía del usuario de PL/SQL Developer 9.0

18

función que no devuelva ningún valor o un parámetro sin utilizar). Para más información acerca de las sugerencias del compilador, vea el capítulo 20.19. Si se muestra un mensaje de error en una ventana emergente después del proceso de compilación, significa que la instrucción ha fallado sin compilar el código. El mensaje de error debería explicar la causa del mismo. Sí por ejemplo, obtiene un error de sintaxis en una instrucción de tipo “create o replace”, se mostrará el siguiente mensaje "ORA-00900: Invalid SQL statement". Nota: Si está utilizando Oracle 7.2 o una versión anterior, los errores de compilación en los disparadores de la base de datos (triggers) siempre se mostrarán en un mensaje emergente. Sólo a partir de la versión 7.3 de Oracle, los errores de compilación en los disparadores de la base de datos (triggers) se notifican de la misma forma que los procedimientos, funciones, paquetes y tipos.

4.5

Opciones del compilador.

Para establecer las diferentes opciones del compilador puede presionar el botón Opciones del compilador, situado en la barra de estado de PL/SQL Developer. Al presionar dicho botón PL/SQL Developer abrirá la ventana de Opciones del compilador, donde podrá establecer las diferentes opción que PL/SQL Developer le ofrece (vea el capítulo 20.3).

Guía del usuario de PL/SQL Developer 9.0

19

5. Probar programas. Después de compilar correctamente un programa, necesitará probarlo. Para hacer esto puede utilizar los archivos de prueba de PL/SQL Developer. Un archivo de prueba le permite ejecutar una o más unidades de programa, definir variables de tipo IN, OUT o IN OUT así como ver y asignar valores a las variables. Si ocurre un error durante la ejecución de un archivo de prueba, puede ver el código de las unidades de programa que están involucradas en el error. Si utiliza Oracle 7.3.4 o una versión posterior puede utilizar el depurador de PL/SQL Developer. Puede recorrer el código, crear puntos de interrupción, ver y establecer variables, ver la pila de llamadas, etc.

5.1

Crear un archivo de prueba.

Existen dos formas de crear un archivo de prueba. Puede hacer clic con el botón derecho del ratón sobre una unidad de programa (una función de la base de datos, un procedimiento, una función empaquetada o un procedimiento) en el Explorador de Objetos y seleccionar el elemento Probar. Esto creará un nuevo archivo de prueba con variables para los parámetros y para el resultado. Para el objetivo de este manual, vamos a crear un archivo de prueba de forma manual desde el principio. Para crear un nuevo archivo de prueba, presione el botón Nuevo situado en la barra de herramientas y seleccione el elemento Ventana de prueba. Ahora puede teclear un bloque de código PL/SQL con el texto declare…begin… end en el cuerpo del archivo de prueba. Como ejemplo vamos a probar el paquete employee, en el que crearemos algunas funciones de las tablas de demostración employee/departament. La función deptname devuelve el nombre del departamento de un empleado, y puede probarse utilizando el siguiente bloque de código PL/SQL:

El bloque de código PL/SQL contiene una sencilla llamada a la función que queremos probar, y utiliza las variables deptname y empno. Vamos a asignar un valor a la variable empno, y después de la ejecución, comprobar el valor de la variable deptname, para comprobar si la función devuelve el valor correcto. Si coloca dos puntos como prefijo de las variables, pueden declararse en la parte inferior de la ventana de prueba:

Guía del usuario de PL/SQL Developer 9.0

20

El botón Escanear variables en el código situado en la parte superior izquierda de la lista de variables puede utilizarse para copiar rápidamente las variables desde el código. Después de esto, el tipo de datos integer y el valor 7369 se asigna a la variable empno. Ahora esta preparado para ejecutar el archivo. Puede declarar las variables localmente en la parte declarativa de un bloque PL/SQL, pero no podrá modificar o ver los valores de esas variables. Una ventaja de las variables locales es que puede utilizar tipos de registros, tablas PL/SQL, tipos, etc.

5.2

Ejecutar un archivo de prueba.

Para ejecutar un archivo de prueba, presione el botón Ejecutar situado en la barra de herramientas. Después de la ejecución, se actualizan los valores de las variables. Cualquier variable cuyo valor haya cambiado se muestra con el color de fondo de la celda en amarillo:

El resultado de la ejecución es ‘RESEARCH’, con lo que es evidente que la función devuelve el resultado correcto. En la parte inferior de la ventana, se muestra el tiempo de ejecución. Esta información puede utilizarse para optimizar el rendimiento de su código. Con el objetivo de optimizar su código puede utilizar las estadísticas de ejecución del bloque de código PL/SQL seleccionando la pestaña estadísticas. Puede crear un informe del perfilador por cada línea de código PL/SQL ejecutado si presiona el botón Crear informe del perfilador antes de ejecutar el archivo. Después de la ejecución puede cambiar a la pestaña Perfilador para ver el resultado del informe. Las estadísticas y los informes del perfilador se explican en los capítulos 6.2 y 6.3 respectivamente. Puede detener la ejecución de un archivo de prueba si presiona el botón Cancelar, acción que resulta especialmente útil cuando un programa entra en un bucle infinito, o la ejecución del archivo de prueba consume más tiempo de lo esperado. Observe que el hecho de presionar el botón Cancelar no siempre será efectivo. Si por ejemplo, un programa se encuentra esperando por un registro o tabla bloqueada, no responderá a la señal del botón Cancelar.

Guía del usuario de PL/SQL Developer 9.0

21

Después de ejecutar un archivo de prueba, alguna de las unidades de programa ejecutadas podría haber iniciado una transacción. Los botones Commit y Rollback situados en la barra de herramientas se encontrarán habilitados si este es el caso. Para más información acerca de las transacciones, vea el capítulo 17.

5.3

Tipos de variables.

La lista de tipos en la sección de variables de la ventana de prueba contiene todos los tipos que pueden utilizarse. Las características de cada uno de esos tipos se explican en este capítulo. Tipo de dato

Descripción

Integer

Puede utilizarse para almacenar valores numéricos comprendidos entre -2^32 y 2^32 - 1.

Flota

Puede utilizarse para almacenar otros valores numéricos.

String

Equivale a un tipo de datos varchar2 en una tabla. Puede contener 2000 caracteres (Oracle7) o 4000 caracteres (Oracle8). El valor de la celda de este tipo de datos, posee un botón situado dentro de la misma, que llama al editor de datos de forma que pueda ver y modificar cadenas de texto multi-línea fácilmente.

Date

Tipo de datos para almacenar fechas y horas.

Long

Este tipo de datos no representan ningún valor en la rejilla, simplemente muestra el texto .Presione el botón situado dentro de la celda para llamar al editor de texto.

Long Raw

Si presiona el botón situado dentro de la celda de un valor Long Raw llamará a la herramienta de importación/exportación de datos, permitiéndole cargar o guardar los contenidos de esta variable.

Cursor

Ese tipo de datos puede utilizarse cuando necesite una variable de tipo cursor en código PL/SQL. Después de ejecutar un archivo de prueba, puede presionar el botón situado dentro de la celda para ver el conjunto de resultados en una ventana de consulta SQL.

CLOB, BLOB & BFile

Este tipo de variables deben inicializarse en el servidor antes de que pueda ver sus datos. El tipo de datos CLOB llamará al editor de texto, y los tipos de dato BLOB y BFILE llamarán a la herramienta de importación/exportación.

PL/SQL String

Utilice este tipo de datos para valores varchar2 de hasta 32000 caracteres.

Char

Cadena de longitud fija (Se rellena con espacios en blanco).

Substitution

Las variables de sustitución pueden utilizarse sin la restricción de las variables de acoplamiento. El nombre de la variable en el bloque de código PL/SQL se sustituye por su valor en el texto del código antes de que sea enviado al servidor.

Temporary CLOB & BLOB

Pueden contener datos antes de que se pasen a través de un archivo de prueba.

Variables de tipo Boolean. Cuando seleccione un tipo de datos en la lista de tipos, verá que falta el tipo de datos Boolean. Esto se debe a que SQL*Net no soporta este tipo de datos. Para utilizar una variable de tipo Boolean, puede declararla como integer y utilizar las funciones sys.diutil.bool_to_int y sys.diutil.int_to_bool que le

Guía del usuario de PL/SQL Developer 9.0

22

proporciona Oracle. Estas funciones convierten null/true/false y null/0/1. Si usa la función Probar en el Explorador de Objetos, esta conversión se generará de forma automática.

5.4

Guardar archivos de prueba.

Para guardar un archivo de prueba, presione el botón Guardar situado en la barra de herramientas. El cuadro de diálogo utiliza la extensión .tst como extensión por defecto para los archivos de prueba, aunque puede cambiar la extensión por defecto mediante una opción que se describe en el capítulo 20.28. El bloque de código PL/SQL, todas las variables (nombre, tipo y valor), así como inspecciones de depuración se guardarán (vea el capítulo 5.10). Si guarda un archivo de prueba, podrá volver a probar fácilmente una unidad de programa si la modifica posteriormente. Puede abrir un archivo de prueba guardado con anterioridad si presiona el botón Abrir situado en la barra de herramientas y selecciona el elemento Archivo de prueba, creándose de esta forma una nueva ventana de prueba. De forma alternativa puede hacer clic con el botón derecho del ratón sobre una ventana de prueba creada anteriormente y seleccionar el elemento Cargar, abriéndose un archivo de prueba en la ventana existente.

Guardar como archivo de SQL*Plus. De forma alternativa puede guardar un archivo de prueba en un formato compatible con SQL*Plus. Esto le permitirá ejecutar el archivo en un entorno donde PL/SQL Developer no se encuentre disponible (ejemplo Servidor Unix). Para hacer esto, seleccione Archivo SQL*Plus (*.SQL) como tipo de archivo en el cuadro de diálogo. El siguiente código fuente generado en el capítulo previo se guardará de la siguiente forma: rem PL/SQL Developer Test Script set feedback off set autoprint off rem Declare variables variable result varchar2(2000) variable p_empno number rem Set variables begin :result := null; :p_empno := 7369; end; / rem Execute PL/SQL Block begin :result := employee.deptname(:p_empno); end; / rem Print variables print result print p_empno

Nota: No puede volver a abrir un archivo SQL*Plus como archivo de prueba. Si quiere utilizarlo de nuevo en una ventana de pruebas asegúrese de guardarlo como un archivo de prueba.

5.5

Capturar errores en tiempo de ejecución.

Cuando una unidad de programa causa un error en tiempo de ejecución, PL/SQL Developer le preguntará si desea ver la pila de errores. De esta forma puede encontrar rápidamente la causa del

Guía del usuario de PL/SQL Developer 9.0

23

mismo. Si hubiese un error en nuestra función deptname, la ventana de la pila de errores se mostraría de la siguiente forma:

En la parte superior puede ver una pestaña por cada unidad de programa involucrada en un error en tiempo de ejecución. Las unidades de programa se han llamado siguiendo un orden de derecha a izquierda. Puede buscar a través de las pestañas para encontrar fácilmente el flujo de programa que ha llevado al error. En este caso se muestra que el archivo de prueba ha realizado una llamada a la función employee.deptname. Es obvio que puede ser más complicado, incluso a través de disparadores. Nota: Si está utilizando Oracle Server 7.2 o una versión inferior, el código del disparador no se mostrará en la ventana de la pila de errores. La pila de errores resalta cada línea que se encuentra involucrada en un error en color rojo. Para la última unidad de programa en la pila esta es la línea que ha causado el error. Para todas las demás unidades de programa esta línea es la línea desde donde se realizó la llamada a la siguiente unidad de programa.

5.6

Estado de los paquetes y de las sesiones Java.

Cuando está editando, compilando y probando paquetes, el estado de los paquetes será descartado por Oracle después de cada proceso de compilación. Todas las variables globales en un paquete serán reseteadas y el bloque de inicio se ejecutará otra vez. Esto puede llevar a errores inesperados. Cuando PL/SQL Developer detecta esta situación, un mensaje de error aparece en la barra de estado de la ventana de prueba: "Warning: ORA-04068: Existing state of packages has been discarded". De forma idéntica, si edita o compila un código fuente Java, cualquier estado de sesión se borrará. PL/SQL Developer también detectará esta situación y mostrará un mensaje en la barra de estado: “Warning: ORA-29549: class has changed, Java session state cleared”.

5.7

Ver un conjunto de resultados.

En un archivo de prueba usted no se encuentra limitado solamente a bloques PL/SQL. Puede ejecutar instrucciones SQL, incluyendo consultas de selección. Si ejecuta una consulta se mostrará una pestaña adicional llamada Resultados, que le mostrará todos los resultados seleccionados.

5.8

Ver la salida generada por el paquete dbms_output.

Durante el proceso de depuración puede ser necesario mostrar cierta información en la pantalla desde una unidad de programa. Con este fin Oracle creo el paquete dbms_output. Si llama al procedimiento dbms_output.put_line, la información se coloca en el buffer de salida. Después de la ejecución de un archivo de prueba puede seleccionar la pestaña Output en la parte superior de la ventana de prueba para ver el contenido del buffer de salida. En esta pestaña puede establecer el tamaño del buffer (0 para un

Guía del usuario de PL/SQL Developer 9.0

24

tamaño ilimitado), habilitarlo y deshabilitarlo. Las opciones de configuración por defecto de la pestaña Output se controlan en las preferencias del programa, descritas en el capítulo 20.5.

5.9

Ver la salida HTP.

Si quiere probar una unidad de programa que haga uso de PL/SQL Web Toolkit, la pestaña Salida HTP se mostrará si se ha generado una salida HTP:

Si no existe ninguna salida HTP, esta pestaña no será visible.

5.10

Depurar.

Para aquellos errores de programación que son realmente difíciles de seguir, la ventana de prueba contiene un depurador integrado. En la parte superior de la ventana encontrará una barra de herramientas con las funciones relacionadas con el depurador. Para iniciar una sesión de depuración presione el botón Iniciar en la parte izquierda de la barra de depuración en lugar del botón Ejecutar situado en la barra de herramientas principal. Los otros botones de la barra de depuración se habilitarán y podrá comenzar a depurar su código.

Controlar la ejecución. Después de iniciar el depurador, la ejecución se detendrá en la primera instrucción del archivo de prueba. Tras esto, puede controlar la ejecución mediante los botones de la barra de herramientas: • Ejecuta el archivo hasta que finalice la ejecución. • Entra en un procedimiento, función o llamada en la siguiente línea. Si la siguiente línea contiene una instrucción insert, delete o update provocará que se active el disparador (trigger), en este caso puede entrar en el código del disparador (trigger). • Salta a la siguiente línea. Se ejecutará pero no entrará en el código. • Sale de la unidad de programa actual. • Ejecuta el programa hasta que ocurra una excepción. La ejecución se detendrá en la línea que cause esa excepción. Después del siguiente paso se disparará la misma. Cada vez que entra en una unidad de programa, su código se cargará de forma automática en la ventana de prueba. En la parte inferior del editor aparecerá una pestaña por cada unidad de programa con lo que podrá cambiar entre ellas para ver el código, establecer o quitar un punto de interrupción, etc. Si hace clic con el botón derecho del ratón en el editor puede eliminar la unidad de programa de la ventana de prueba si ya no se encuentra interesado en ella:

Guía del usuario de PL/SQL Developer 9.0

25

Ver y establecer los valores de las variables. Para ver el valor de una variable durante una sesión de depuración simplemente mueva el cursor del ratón sobre la variable en el código. Después de ½ segundo, su valor se mostrará a modo de sugerencia. Las variables de un bloque de código PL/SQL de un archivo de prueba no pueden mostrarse. Las variables complejas como registros y tipos de objetos todavía no pueden mostrarse aunque puede ver campos individuales. En futuras versiones, Oracle podría resolver esas limitaciones. Para establecer el valor de una variable, haga clic con el botón derecho del ratón encima de su nombre en el código de programa y seleccione el elemento Establecer variable desde el menú contextual. Aparecerá un cuadro de texto con el valor de la variable donde podrá introducir un nuevo valor y presionar el botón Enter para aplicar los cambios o Esc para cancelar la operación:

Desde el mismo menú contextual puede añadir una variable a la lista de inspecciones, lo que significa que después de cada paso de depuración el valor de la variable se mostrará y actualizará de forma automática en la lista de inspecciones en la parte inferior izquierda de la ventana de prueba. Si una variable es una colección (tabla PL/SQL, varray, tablas anidadas) de tipos de datos escalares, puede ver la colección completa si hace clic con el botón derecho del ratón en ella y selecciona el elemento Ver colección de variables desde el menú contextual. Nota: Todos los valores de las variables pueden verse si las unidades de programa se compilan con la información sobre depuración. Existe una opción que causará que cada vez que se compile se incluya la información de depuración, pudiendo añadir de forma manual la información de depuración si hace clic con el botón derecho sobre una unidad de programa en el Explorador de Objetos y selecciona el elemento del menú contextual Añadir información de depuración.

Guía del usuario de PL/SQL Developer 9.0

26

Utilizar puntos de interrupción. Los puntos de interrupción pueden utilizarse para detener la ejecución de un programa en una línea de código PL/SQL determinada. Cuando la ejecución se detiene, puede ver y establecer variables, ejecutar el código paso a paso, etc. Puede definir una condición para un punto de interrupción, en cuyo caso la ejecución del programa sólo se detendrá si se cumple esa condición. Por cada punto de interrupción que defina, aparecerá un mensaje en la pestaña de salida cuando se encuentre un punto de interrupción.

Establecer puntos de interrupción. Existen dos formas de establecer puntos de interrupción: en una ventana de programa o en una ventana de prueba. En ambos casos simplemente necesita hacer clic con el botón izquierdo del ratón en la línea de código apropiada en el margen del editor. Una marca aparecerá, indicando que existe un punto de interrupción en esa línea. Cuando ejecute una ventana de prueba en modo de depuración la ejecución se detendrá si se encuentra uno de esos puntos de interrupción. Si establece un punto de interrupción en una ventana de programa, puede que ese programa en particular, no se haya compilado todavía en la base de datos. Además, dicho punto de interrupción todavía no puede ser aplicado a la base de datos. En este caso la marca del punto de interrupción tendrá una apariencia distinta. Cuando compile la unidad de programa, el punto de interrupción podrá aplicarse y la correspondiente marca reflejará este cambio. Mientras la unidad de programa no se haya compilado ninguno de los puntos de interrupción establecidos en esta unidad de programa serán efectivos. No puede establecer puntos de interrupción en un bloque de código PL/SQL de un archivo de prueba. Para borrar un punto de interrupción, simplemente haga clic sobre el icono del punto de interrupción.

Condiciones de los puntos de interrupción. Algunas veces puede definir un punto de interrupción en una línea que se ejecuta a menudo, aunque sólo le interese el estado del programa bajo ciertas circunstancias. En este caso puede definir una condición para el punto de interrupción. La ejecución sólo se detendrá si se cumple la condición. Para definir una condición para un punto de interrupción, haga clic con el botón derecho del ratón sobre la marca y seleccione el elemento Modificar punto de interrupción en el menú contextual. Aparecerá el siguiente cuadro de diálogo:

En este cuadro de diálogo puede ver todas las unidades de diálogo que tienen puntos de interrupción, con sus puntos de interrupción listados en la parte inferior. Cada punto de interrupción tiene una casilla de comprobación que le permite habilitarlos o deshabilitarlos. La sección inferior muestra los siguientes campos:

Guía del usuario de PL/SQL Developer 9.0









27

Utilizar condición - La casilla de comprobación habilita o deshabilita la condición. La propia condición debe ser una expresión de tipo boolean. Cuando se alcanza un punto de interrupción, la ejecución sólo se detendrá si la condición se evalúa como verdadera (true/false). Puede utilizar cualquier expresión SQL en la condición, y puede utilizar cualquier variable que se conozca hasta la localización del punto de interrupción. Son las mismas variables que puede ver o establecer durante un proceso de depuración. Las variables deben precederse del carácter dos puntos “:”. Por ejemplo upper(:ename)=`SMITH’ es una condición valida si la variable ename es valida en la localización del punto de interrupción Utilizar mensaje – La casilla de comprobación habilita o deshabilita el mensaje. Cuando se alcanza un punto de interrupción, y se cumplen todas las condiciones, se mostrará un mensaje en la pestaña de salida. No detener la ejecución – Esta opción es útil si se ha definido un mensaje. Cuando se encuentra marcada, la ejecución del programa no se detiene en el punto de interrupción de la línea. De esta forma puede definir puntos de interrupción que simplemente generen mensajes en la pestaña de salida. Utilizar contador – Esta casilla de comprobación habilita o deshabilita el contador de pasadas, él que define cuantas veces se debe pasar por la línea que contiene el punto de interrupción antes de que se pare la ejecución. Si, por ejemplo, define un contador de pasadas de 10, la ejecución se detendrá la décima vez que se alcance el punto de interrupción.

Ver la pila de llamadas. Puede ver la pila de llamadas en la parte inferior derecha de la ventana de prueba. La pila de llamadas se actualiza automáticamente después de cada paso de depuración.

Preferencias del depurador. En el elemento Preferencias en el menú Herramientas puede encontrar un grupo de opciones relacionadas con el depurador. Estas preferencias se describen con más detalle en el capítulo 20.4.

5.11

Trazar la ejecución.

Si utiliza Oracle8i o una versión superior, puede utilizar la herramienta de trazado en la Ventana de Prueba, para trazar la ejecución de su código PL/SQL. Puede configurar que eventos desea trazar: Llamadas a instrucciones, excepciones, SQL o código PL/SQL. Presione el botón Select Trace Levels cercano al botón Create Trace Report para mostrar la siguiente pantalla de configuración:

Guía del usuario de PL/SQL Developer 9.0

28

Puede controlar si desea trazar eventos específicos en cada unidad de programa (All), sólo en las unidades de programa que son compiladas con información de depuración (Enabled), o nunca (None). Para crear un informe de trazado, presione simplemente el botón Create Trace Report en la barra de herramientas de la ventana de prueba y ejecute el archivo de prueba. Después de la ejecución puede cambiar a la pestaña Trazado para ver el informe, y para ver informes anteriores de trazado.

En este sencillo informe puede ver una consulta en la línea 15 de la function employee.depname que ha lanzado la excepción 1403 (No data found), que se ha tratado en la línea 28 de la misma unidad de programa. Por cada evento trazado, puede incluir información en el informe como la descripción del evento, duración, unidad de programa, número de línea, excepción, etc. Para configurar esto, presione el botón Preferencias en la parte superior izquierda de la barra de herramientas de trazado. Esto le mostrará las preferencias del trazado como se describe en el capítulo 20.6. Para ver los informes antiguos de trazado, seleccione una ejecución de la lista de selección. Presione el botón Delete para borrar la ejecución seleccionada. Para más información sobre la utilidad de trazado de Oracle, vea el capítulo DBMS_TRACE del manual Oracle Supplied Packages Reference.

5.12

Pruebas de regresión.

Puede utilizar los archivos de prueba para realizar pruebas de regresión, utilizando la herramienta Organizador de Casos de Prueba (vea el capítulo 21.15) para definir y ejecutar conjuntos de pruebas basados en archivos de prueba.

Guía del usuario de PL/SQL Developer 9.0

29

6. Optimización. Para optimizar las instrucciones SQL de sus unidades de programa, la utilidad Explain plan puede serle de gran utilidad mostrándole el plan de ejecución de una instrucción. Además dicha herramienta se encuentra integrada dentro del entorno de desarrollo de PL/SQL Developer. Para ver el consumo de recursos de una instrucción SQL o de una unidad de programa PL/SQL, PL/SQL Developer puede mostrarle las estadísticas acerca de su ejecución. Puede configurar que estadísticas desea visualizar, incluir el tiempo transcurrido, el tiempo de procesador, el número de lecturas lógicas, el número de lecturas físicas, el número de escrituras físicas, etc. Finalmente puede utilizar la herramienta tkprof de Oracle para obtener información sobre los recursos consumidos por todas las instrucciones ejecutadas en una unidad de programa si habilita el trazado de las instrucciones SQL.

6.1

Utilizar la ventana del plan de ejecución.

Para utilizar la utilidad de Oracle Explain Plan, presione el botón Nuevo situado en la barra de herramientas y seleccione el elemento Explain Plan. Aparecerá una ventana vacía que le permitirá visualizar el plan de ejecución. En la mitad superior de la ventana, puede escribir la consulta que desea analizar. Después presione el botón Ejecutar situado en la barra de herramientas. El plan de ejecución se mostrará en la mitad inferior de la ventana:

Una vez mostrado el plan de ejecución puede cambiar la consulta SQL y pulsar sobre el botón Ejecutar para ver el impacto de los cambios. Para más información sobre los planes de ejecución, puede leer el manual Oracle Server Tuning. Para ver el efecto de utilizar distintos objetivos del optimizador en el plan de la consulta, seleccione la correspondiente entrada de la lista Objetivos del optimizador. El plan de ejecución se actualizará de forma inmediata para reflejar los cambios. Utilice los botones Primera operación, Operación anterior, Operación siguiente y Última operación para navegar a través del plan de ejecución siguiendo el orden de las operaciones. Después de que se haya determinado el plan de ejecución, PL/SQL Developer resaltará la primera operación. La herramienta Explain Plan utiliza una tabla llamada plan table para almacenar los planes de ejecución. Si dicha tabla no se encuentra disponible para el usuario conectado a la base de datos, PL/SQL Developer le preguntará si desea crearla en el esquema de dicho usuario. Para definir que columnas de la tabla plan table desea ver, y en que orden, presione el botón Preferencias. Esto le mostrará la página de preferencias correspondiente (vea el capítulo 20.22). Nota: Si esta utilizando el servidor Oracle 7.2 o una versión anterior, el coste y la cardinalidad no están disponibles en la tabla. Si se encuentra utilizando la versión 7.3 o una versión posterior y el coste o la cardinalidad no se encuentran disponibles, probablemente necesite actualizar la tabla. Si hace clic con el botón derecho del ratón sobre la columna Object name, aparecerá el menú contextual para el objeto seleccionado.

Guía del usuario de PL/SQL Developer 9.0

30

Analizar las instrucciones SQL en una unidad de programa. La mayoría de las veces, las consultas SQL que desea analizar se encuentran almacenadas en el código de una unidad de programa. Para analizar las instrucciones SQL de una unidad de programa seleccione la consulta en el editor de programas, haga clic con el botón derecho del ratón sobre el texto seleccionado y presione el elemento Explain Plan del menú contextual (o presione la tecla F5). Aparecerá una nueva ventana de tipo Explain Plan con la consulta seleccionada y todas las variables PL/SQL son reemplazadas por variables de sustitución. Cuando una consulta contiene variables propias del lenguaje PL/SQL y ejecuta la ventana del plan de ejecución, recibirá un mensaje de error “ORA-00904:Invalid column name”. Por error la herramienta Explain Plan asume que todas las variables son columnas. Cada variable debe prefijarse con el carácter “:”. Si queremos analizar la consulta en la función employee.deptname, la variables result y p_empno deben modificarse de la siguiente forma:

Ahora la utilidad Explain Plan conoce que identificador es una columna, y que identificador es una variable de código PL/SQL.

6.2

Estadísticas automáticas.

Cada vez que ejecute una instrucción en una ventana de consulta SQL o en una ventana de prueba, PL/SQL Developer generará automáticamente un informe con las estadísticas de la ejecución de la consulta. Una condición que necesita cumplirse es que tenga privilegios de selección en las tablas de rendimiento dinámico v$session, v$statname, v$sesstat (desde el rol estándar plustrace). Puede ver el informe de estadísticas si cambia a la pestaña Estadísticas situada en la parte superior de la ventana de consulta SQL o de la ventana de prueba. Las estadísticas para la ejecución de la función employee.deptname, podrían parecerse a las siguientes:

Para cada estadística del informe puede ver el valor de la última ejecución y el valor total para la sesión actual. Puede configurar si se muestran las estadísticas si establece una las opciones en la ventana de preferencias, como se explica en el capítulo 20.2. El conjunto de estadísticas es importante para el ajuste del código SQL y PL/SQL, como se describe aquí:

Guía del usuario de PL/SQL Developer 9.0

Estadística CPU used by this session

Significado Procesador utilizado en centésimas de segundo.

Physical reads

Número de bloques leídos desde el disco.

Physical writes

Número de bloques escritos en el disco.

Session logical reads

Número de bloques leídos desde la memoria o desde el disco.

sorts (disk) sorts (memory)

Número de ordenaciones realizadas en un segmento temporal. Número de ordenaciones realizadas en memoria.

sorts (rows)

Número de filas que se han ordenado.

table fetch by rowid

Número de filas localizadas mediante rowid, acceso por índices.

table scan blocks gotten

El número de bloques leídos mediante full table scans.

table scan rows gotten

El número de filas leídas mediante full table scans.

table scans (long tables)

Número de full table scans sobre tablas grandes.

table scans (short tables)

Número de full table scans sobre tablas pequeñas.

31

El número de estadísticas que puede incluir en el informe depende de la versión del servidor de Oracle y no se describen en este manual. Si desea obtener información de las mismas, existen una gran cantidad de libros disponibles que cubren este tema. El libro Oracle Server Referente describe brevemente esas estadísticas. Las estadísticas puede exportase a un archivo CSV (Valores separados por comas), que puede abrirse en una hoja de cálculo posteriormente. Haga clic con el botón derecho del ratón en las estadísticas y seleccione el elemento Exportar y elija Archivo CSV. De forma alternativa puede elegir otro formato como TSV, XML o HTML, o copiar las estadistas al portapapeles.

6.3

El perfilador de PL/SQL.

El perfilador de código PL/SQL es una potente herramienta que le ayuda a optimizar su código PL/SQL. Por cada línea de código ejecutada, muestra el tiempo total, el tiempo máximo, el tiempo mínimo, la media y el número de veces que se ha ejecutado dicha línea. Puede acceder fácilmente al perfilador desde la ventana de prueba. Antes de ejecutar un archivo de prueba, presione el botón Crear informe del perfilador situado en la barra de herramientas de la ventana de prueba. Si ejecuta el archivo puede cambiar a la pestaña de Perfilador para ver el informe.

Guía del usuario de PL/SQL Developer 9.0

32

El siguiente informe de ejemplo muestra que en la function employee.deptname, la consulta de selección ha tardado 94 milisegundos, y que las 3 llamadas al paquete dbms_output han tardado 29 milisegundos:

Por defecto la solapa Perfilador mostrará el informe de la última ejecución. Puede seleccionar informes anteriores si los selecciona de la lista Ejecuciones. La lista Unidades le permite centrarse en la ejecución de una unidad de programa específica dentro del informe. La columna Tiempo total muestra la representación grafica del tiempo transcurrido de una línea de código, comparado con la línea que más tiempo ha consumido al ejecutarse. Esto le permite identificar cuales son las líneas de código que consumen más tiempo. Puede ordenar el informe si presiona los botones de ordenación situados en la cabecera de las columnas. Si una línea de código se muestra en color rojo, significa que la unidad de programa se ha modificado desde que se creo el informe. Es posible que la línea mostrada difiera de la línea existente cuando se creó el informe. Puede cambiar varios aspectos del informe del perfilador si presiona el botón Preferencias situado en la barra de herramientas de la pestaña Perfilador. Esto le mostrará la página de preferencias correspondiente, como se describe en el capítulo 20.7. Para más información acerca del perfilador vea el capítulo dbms_profiler en la guía “Oracle8i Supplied Packages Reference”.

6.4

Trazar instrucciones SQL.

Puede habilitar el trazado de instrucciones SQL presionando el botón SQL Trace situado en la barra de herramientas. Después de esto, todo el proceso que se realice en el servidor mediante una ventana de consulta SQL o en una ventana de prueba será registrado en una archivo de trazado en el servidor de la base de datos. Para esto es necesario que el parámetro de la instancia de la base de datos timed statistics se establezca a true. Puede deshabilitar el trazador de SQL si presiona el botón de SQL trace otra vez. Puede ver la información del archivo de trazado si utiliza la utilidad de oracle tkprof en el servidor de la base de datos. Esto generará un informe acerca del tiempo consumido, tiempo de procesador, I/O, por cada instrucción de SQL. Además de darle un informe acerca de que instrucciones son las más costosas en una unidad de programa. Para aprender más acerca de la utilidad tkprof de Oracle lea el manual “Oracle 7 Server Tuning” . El informe generado por tkprof para la ejecución de la función employee.deptname podría parecerse al siguiente informe:

Guía del usuario de PL/SQL Developer 9.0

33

TKPROF: Release 7.2.2.3.1 - Production on Fri Sep 26 14:59:08 1997 Copyright (c) Oracle Corporation 1979, 1994.

All rights reserved.

Trace file: ora07087.trc Sort options: default ******************************************************************************** count = number of times OCI procedure was executed cpu = cpu time in seconds executing elapsed = elapsed time in seconds executing disk = number of physical reads of buffers from disk query = number of buffers gotten for consistent read current = number of buffers gotten in current mode (usually for update) rows = number of rows processed by the fetch or execute call ******************************************************************************** begin :deptname := employee.deptname(:empno); end; call count ------- -----Parse 1 Execute 1 Fetch 0 ------- -----total 2

cpu elapsed disk query current -------- ---------- ---------- ---------- ---------0.00 0.00 0 0 0 0.01 0.01 0 0 0 0.00 0.00 0 0 0 -------- ---------- ---------- ---------- ---------0.01 0.01 0 0 0

rows ---------0 1 0 ---------1

Misses in library cache during parse: 0 Optimizer hint: CHOOSE Parsing user id: 16 ******************************************************************************** SELECT DEPT.DNAME FROM DEPT,EMP WHERE EMP.EMPNO = :b1

call count ------- -----Parse 1 Execute 1 Fetch 1 ------- -----total 3

AND DEPT.DEPTNO = EMP.DEPTNO

cpu elapsed disk query current -------- ---------- ---------- ---------- ---------0.00 0.00 0 0 0 0.00 0.00 0 0 0 0.06 0.06 4 4 0 -------- ---------- ---------- ---------- ---------0.06 0.06 4 4 0

rows ---------0 5 1 ---------6

Misses in library cache during parse: 0 Optimizer hint: CHOOSE Parsing user id: 16 (recursive depth: 1) ********************************************************************************

Guía del usuario de PL/SQL Developer 9.0

34

7. Trabajar con SQL. A menudo durante el desarrollo de un programa necesita ejecutar alguna instrucción SQL. Ya sea para probar una instrucción, para ver los datos de una tabla o para actualizar los datos. Puede realizar estas operaciones desde el propio PL/SQL Developer, utilizando la ventana de consulta SQL.

7.1

Utilizar la ventana de consulta SQL.

Para crear una nueva ventana de consulta SQL, presione el botón Nuevo situado en la barra de herramientas y seleccione el elemento Ventana de consulta SQL. Aparecerá una ventana de consulta SQL vacía en la que puede escribir una instrucción SQL. Si ha escrito una consulta de selección la ventana se dividirá en dos partes y mostrará los resultados de la misma en una rejilla situada en la mitad inferior de la pantalla. Por ejemplo, si queremos ver todos los empleados de la tabla employee, la ventana de consulta SQL podría parecerse a la siguiente:

La instrucción SQL es ejecutada y recupera 10 filas. El resultado de la consulta es superior a 10 filas, lo que nos indica el hecho de que los botones de Siguiente página y Última página, situados en el centro de la barra de herramientas de resultados, están habilitados y también porque en la barra de estado se muestra el mensaje (more…). Inicialmente sólo se han recuperado 10 registros, debido a que es el número de registros que se pueden mostrar en la rejilla. Si presionamos el botón Página siguiente se recuperarán los 10 registros siguientes. Presionando el botón de Última página se recuperarán todos los registros. Si tiene varias instrucciones SQL en el editor y presiona el botón Ejecutar, se ejecutarán todas las instrucciones y se mostrarán los resultados en distintas pestañas:

Guía del usuario de PL/SQL Developer 9.0

35

Las instrucciones SQL deben finalizarse con un punto y coma (;) o con una barra invertida (\), los bloques de código PL/SQL deben finalizarse con una barra invertida (\), de igual forma que en SQL*Plus. Si selecciona una pestaña de resultado, se resaltará el texto correspondiente en el editor. Si selecciona una parte del texto de una consulta en el Editor de SQL, sólo se ejecutará el texto seleccionado. De esta forma puede tener más de una instrucción en el editor y ejecutarlas de una en una. Si ejecuta un instrucción SQL que tarda mucho tiempo en finalizar puede presionar el botón Cancelar para pararla. Observe que el hecho de presionar el botón Cancelar no funcionará siempre. Si por ejemplo la consulta está esperando por un bloqueo, no responderá al mensaje de cancelar. Si ha presionado el botón Cancelar cuando la ventana de consulta SQL está recuperando filas, simplemente terminará y mostrará las filas que ya han sido recuperadas. Puede continuar recuperando registros con Página siguiente y Ultima página. Observe que las preferencias de la ventana de consulta SQL le permiten determinar el número de filas que se devuelven inicialmente por consulta. Esto se describe en el capítulo 20.20. En la parte derecha de la ventana puede ver dos botones que le permiten navegar a través de todas las instrucciones o consultas que ha introducido en la ventana de consulta SQL. De esta forma puede volver a ejecutar instrucciones introducidas previamente. Por motivos de optimización puede ver las estadísticas de ejecución de las consultas seleccionando la pestaña estadísticas. Las estadísticas se explican en el capítulo 6.2. Cuando imprima una ventana de consulta SQL, la instrucción SQL y la rejilla con los resultados se imprimirán. Si selecciona filas en la rejilla de resultados, puede limitar la cantidad de registros que se imprimirán. Por defecto los títulos de las pestañas se obtienen de las sentencias SQL ejecutadas. Para modificar este comportamiento puede utilizar un comentario que contenga la expresión tab = antes de la sentencia SQL. Por ejemplo: -- tab=Department 10 select * from emp where deptno = 10;

En este ejemplo, el título de la pestaña es Departamento 10, en lugar del nombre por defecto Select emp.

Guía del usuario de PL/SQL Developer 9.0

7.2

36

Modificar los resultados en la rejilla de resultados.

La rejilla de resultados de la ventana de consulta de SQL puede modificarse de varias formas. Algunos tipos de celdas tienen un comportamiento especial, se pueden seleccionar e imprimir filas, columnas y rangos de celdas, puede mover columnas, ordenar filas o cambiar al tipo de vista simple.

Alinear las celdas de la rejilla de resultados. Puede alinear rápidamente las celdas de la rejilla de resultados, utilizando el botón Alinear.

Si presiona este botón, el ancho de cada celda vendrá determinado por el ancho de la cabecera de la columna y su contenido. Si despliega el menú que se encuentra a continuación del botón Alinear, puede seleccionar los distintos tipos de alineaciones que le ofrece PL/SQL Developer en el menú desplegado. Desde aquí puede limitar el ancho de las celdas de la rejilla de resultados o a su contenido, desde aquí también podrá alinear las celdas en función de su altura. Puede utilizar una plantilla personalizada para alinear los datos de la rejilla de resultados.. Una vez haya establecido la configuración de las celdas puede seleccionar la opción Guardar como plantilla para guardas estos cambios en una plantilla. Si ejecuta la misma plantilla posteriormente, puede aplicar esta configuración si selecciona la opción Alinear desde plantilla o si habilita la opción Alinear automáticamente desde plantilla. Observe que la plantilla además de guardar el ancho de las celdas también guarda el orden de las columnas.

Reconocer valores nulos. Los valores nulos se muestran en una celda con el fondo amarillo claro, esto hace más fácil que pueda distinguirlos de un valor con todos los caracteres en blanco. Esto facilita el reconocer valores nulos de celdas que no muestran directamente ningún valor en la rejilla, como es el caso de tipos de datos LONG o LOB. Puede cambiar el color de fondo de la celda para los valores nulos mediante la opción correspondiente (vea el capítulo 20.20).

Ver grandes columnas de datos Los valores de las columnas de tipo Long, Long Raw, CLOB, BLOBL y BFILE no se muestran en la rejilla de resultados. En su lugar se muestra el texto , , , y .

Cuando hace clic en el botón de una celda en una columna, se llama al editor de datos, que le permite ver o editar datos en varios formatos. Vea el capítulo 23 para más detalles. Puede hacer clic en el botón de una celda de una columna de caracteres para llamar al editor de datos. El botón de la celda sólo se muestra si el tamaño es mayor de 20 caracteres.

Guía del usuario de PL/SQL Developer 9.0

37

Ver columnas de tipo fecha. Una columna de tipo fecha tiene un botón en la celda que muestra un calendario con la fecha almacenada resaltada. Si la fecha tiene además tiene hora, puede ver su valor en el calendario:

Viendo columnas de tipo timestamp. Las columnas de tipo Timestamp se muestran en el formato indicado en la configuración del registro NLS_TIMESTAMP_FORMAT y _NLS_TIMESTAMP_TZ_FORMAT de su Oracle Home.

Ver datos en formato XML. Existen varias formas de almacenar datos en formato XML en la base de datos: como CLOB’s (Oracle 8i), como XMLTYPE (Oracle 9i), como Varchar2 o como columnas de tipo Long. En cualquier caso, el editor de datos reconocerá el formato XML si este comienza por una cabecera estándar XML, y cambiara al formato XML. Para más detalles vea el capítulo 23.

Ver columnas de cursores anidados. Si incluye un cursor anidado en la lista de campos de una columna de selección, el valor de la columna se mostrará inicialmente como . Si presiona el botón situado dentro de la celda, abrirá una nueva ventana de consulta SQL con la rejilla mostrando el conjunto de resultados del cursor. Nota: Cada valor del cursor anidado implicar abrir un cursor, con lo cual puede superar fácilmente el valor del parámetro OPEN_CURSORS y obtener el error “ORA-01000: maximum open cursors exceeded”

Seleccionar columnas, filas y celdas. Para seleccionar filas o columnas en la rejilla de resultados, simplemente haga clic en la cabecera de la fila o de la columna y arrastre el puntero del ratón para resaltar la selección.

Puede mover una selección de columnas, seleccionando una de esas columnas y arrastrándola a una nueva ubicación.

Guía del usuario de PL/SQL Developer 9.0

38

Para seleccionar un rango de celdas, mueva el puntero del ratón sobre el borde izquierdo de una celda hasta que la forma del puntero cambie, presione el botón izquierdo del ratón y arrastre para resaltar la selección:

Para seleccionar todas las filas y columnas, presione el botón que se encuentra en la parte superior izquierda de la rejilla, o haga clic con el botón derecho del ratón en la rejilla y seleccione el elemento Seleccionar Todos desde el menú contextual. Puede copiar o imprimir la selección como lo hace habitualmente.

Bloquear el desplazamiento Es muy probable que a veces, desee evitar que se desplacen los datos fuera de la pantalla. En el ejemplo anterior, es posible que desee evitar que la columna empno se desplace fuera de la pantalla cuando desplace el contenido de la rejilla de datos hacia la izquierda. Para ello, haga clic con el botón derecho del ratón sobre la columna empno y seleccione la opción Bloquear filas del menú emergente Bloquear desplazamiento. Para bloquear más de una columna bloquee la columna que se encuentre situada más a la derecha. Puede bloquear las filas de la rejilla de datos de forma similar: haga clic con el botón derecho del ratón sobre una fila y seleccione la opción Bloquear filas del menú emergente de Bloquear desplazamiento.

Ordenar las filas de la rejilla. Para ordenar las filas de la rejilla de resultados, presione el botón de la cabecera de la columna en la que quiera ordenar las filas.

Las filas se ordenarán en orden ascendente, como muestra el botón de la cabecera. Presionando el botón de la cabecera otra vez, ordenará las filas en orden descendente. Si lo presiona una tercera vez permanecerá sin ningún orden. Si presiona el botón de otra columna ordenará las filas por esta columna, pero también utilizará la columna previa como columna de orden secundario (indicado por el punto en el botón de la cabecera). En el ejemplo anterior, la columna Job es la columna primaria, y la columna hiredate es la secundaria. Por defecto PL/SQL Developer ordenará el conjunto de registros sin tener en cuenta si están en mayúsculas o minúsculas. Puede hacer clic con el botón derecho del ratón sobre Coincidir mayúsculas y minúsculas para cambiar el comportamiento del proceso de ordenación de los resultados Observe que el proceso de ordenación de los resultados se realiza de forma local, y sólo para las columnas que ya se han recuperado. Si obtiene información adicional después de ordenar los resultados, las nuevas filas se añadirán el final de la rejilla de resultados sin ningún orden. Para grandes conjuntos de registros el orden en modo local puede tardar mucho tiempo, en este caso podría ser mejor utilizar

Guía del usuario de PL/SQL Developer 9.0

39

una cláusula order by en la consulta y dejar que sea Oracle Server el encargado de realizar el proceso de ordenación de los registros.

Vista sencilla. Si el conjunto de resultados contiene muchas columnas, podría ser un inconveniente que cada registro se muestre en una sola línea. Puede moverse hacia adelante o hacia atrás para ver las columnas relacionadas (aunque pueda mover las columnas), y no puede visualizar todas las columnas del registro de una vez. Si presiona el botón Vista sencilla en la barra de herramientas de la rejilla, puede ver sólo un registro de una vez:

Ahora cada fila se muestra en una columna con el nombre y el valor. Los botones Siguiente registro y Registro anterior en la barra de herramientas de la rejilla pueden utilizarse para navegar a través del conjunto de resultados. Para volver a la vista en modo multi registro, presione el botón Vista sencilla otra vez.

Exportar datos. Existen varias formas de exportar los datos de un conjunto de resultados de la rejilla de datos. Después de ejecutar una instrucción de tipo select, seleccione el rango de celdas que desee exportar tal y como se describió anteriormente, y haga clic con el botón derecho del ratón y seleccione el elemento de menú Exportar Resultados desde el menú contextual. Al hacer esto se mostrará un submenú desde donde podrá elegir exportar los datos en diferentes formatos CSV, TSV, HTML, XML o SQL. Si selecciona el formato SQL, PL/SQL Developer creará un archivo con todas las instrucciones insert necesarias para recrear los resultados de la consulta. Después de seleccionar el formato puede indicar el nombre y la ubicación del archivo generado. De forma alternativa. También puede copiar la selección al portapapeles presionando Ctrl-C, o haciendo clic en la selección y seleccionando Copiar o Copiar con cabecera desde el menú contextual. Pudiendo pegar posteriormente estos datos en otra aplicación. Para modificar rápidamente el conjunto de resultados generados en Microsoft Excel, seleccione el elemento Copiar a Excel. Esta acción exportará los datos seleccionados a un archivo temporal y lo

Guía del usuario de PL/SQL Developer 9.0

40

abrirá con Microsoft Excel. Si el número de registros seleccionados es superior a 65535, PL/SQL Developer dividirá los registros en diferentes hojas de Excel. Si múltiples conjuntos de registros como resultado de la ejecución de múltiples consultas SQL, puede seleccionar el elemento Copiar todo a Excel, en lugar de Copiar a Excel. Esta opción creará una hoja de Excel por cada conjunto de registros.

7.3

Filtrar resultados de la consulta.

Después de ejecutar una consulta, puede presionar el botón Filtrar resultados sobre la rejilla de resultados si desea buscar un registro concreto. Al presionar este botón PL/SQL Developer limpiará la rejilla de resultados, y dejará un registro vacío donde puede introducir los valores de la consulta. Si, por ejemplo, quiere buscar todos los empleados que comiencen con la letra A en el departamento 20, introduzca el valor A% en la columna ename y el valor 20 en la columna deptno:

Presionando otra vez el botón Filtrar consulta, o presionando el botón Ejecutar, ejecutará la consulta modificada y mostrará los resultados. Presione el botón Limpiar registro para limpiar los valores de la consulta. Los valores de la consulta no se encuentran restringidos a valores con caracteres comodines. Puede utilizar las expresiones siguientes (las expresiones alternativas entre corchetes):



valor [= valor]

• valor con comodín [like valor con comodín] • > valor • < valor • != valor [ valor] • in (valor1, valor2, ...) • between valor1 and valor2 • null [is null] • not null [is not null] Observe que si emplea un valor literal, puede omitir las comillas para los valores de texto (ejemplo SMITH se convertirá automáticamente en ‘SMITH’ en el texto SQL). Para todas las demás expresiones debe proporcionar un valor literal que el servidor Oracle comprenda (ejemplo !=’SMITH’). Esto es así en el caso de números y fechas. Si utiliza una expresión, utilice un formato que pueda ser comprendido por Oracle.

Guía del usuario de PL/SQL Developer 9.0

41

Existen diversas opciones que le permiten controlar el funcionamiento del filtrado de resultados. El capítulo 20.20 describe esas opciones.

7.4

Consultas vinculadas.

Cuando esté viendo un conjunto de resultados, con frecuencia necesitará consultar una tabla relacionada. Por ejemplo cuando esté viendo la tabla dept, puede necesitar consultar todos los empleados de un departamento, o viceversa cuando se encuentre viendo la tabla emp, puede necesitar consultar el departamento de un empleado. La mayor parte de las veces tendrá una clave foránea entre las tablas padre y las tablas hijas, en cuyo caso la ventana de consulta SQL puede generar y ejecutar esas consultas por usted. Si se encuentra en un determinado registro en el conjunto de resultados, presione el botón Consulta vinculada en la barra de herramientas que se encuentra en la parte superior de la rejilla. Esto le mostrará un menú contextual con las tablas padre e hijas de la tabla del elemento seleccionado. Si por ejemplo se encuentra consultando la tabla emp, se le mostrará el siguiente menú desplegable:

La foto superior muestra las tablas padre (y los nombres de sus claves foráneas) y en la parte inferior muestra las tablas hijas. El elemento dept generará una consulta para el departamento de este empleado (30). El primer elemento emp (padre) generará una consulta para el manager de este empleado (7839). El segundo elemento de la tabla emp (hija), generará una consulta para todos los empleados que dirige este empleado. La consulta vinculada se ejecutará en la misma ventana de consulta SQL a menos que habilite la opción Linked query in new window (vea el capítulo 20.20). Si presiona la tecla Ctrl mientras presiona el botón consulta vinculada, ocurrirá lo contrario a esta opción.

7.5

Variables de sustitución.

Guía del usuario de PL/SQL Developer 9.0

42

Puede utilizar variables de sustitución en el texto SQL para permitir que un usuario pueda introducir datos cuando la consulta se ejecute. La forma más simple de hacerlo es mediante el uso de una variable de sustitución:

Si especifica &depno en el texto SQL se le preguntará por el valor de esta variable. La variable a la que hace referencia en el texto SQL se sustituirá por su valor antes de la ejecución. Puede especificar más de una variable de sustitución y puede especificar cada variable más de una vez. Además puede definir el tipo de datos, el valor por defecto, listas de selección, lista de consultas, casillas de comprobación y otras opciones avanzadas. Esas características son empleadas en el visor de informes, y se describen con más detalle en el capítulo 12.

7.6

Actualizar la base de datos.

Guía del usuario de PL/SQL Developer 9.0

43

Para actualizar, insertar o borrar registros en la base de datos, puede ejecutar las instrucciones apropiadas de tipo DML en una ventana de consulta SQL. Probablemente sea mucho más adecuado para hacer los resultados de la rejilla actualizables, el incluir el campo rowid en la lista de campos de la consulta o utilizar la instrucción select…for update:

Debe saber que la instrucción select…for update bloqueará todos los registros seleccionados, con lo que incluir el campo rowid será la mejor forma de hacer que los resultados de la consulta sean actualizables. Si la instrucción es una unión de varias tablas (join), sólo las columnas de la primera tabla pueden actualizarse. Todas las demás columnas serán sólo de lectura y tampoco podrá actualizar columnas con alias. Si el resultado es actualizable, puede presionar el botón Editar datos situado en la parte derecha de la rejilla y editar los registros. Puede insertar o borrar registros de la rejilla si presiona el botón Insertar Registro o Borrar registro. Si ha seleccionados varios registros, se borrarán. Cuando se encuentre modificando campos de tipo texto o de tipo numérico, PL/SQL Developer cambiará el color del texto introducido al rojo en caso de que los datos introducidos superen el tamaño, la precisión o la escala del tipo de datos definido. Después de editar el valor de una columna que aparece en la expresión de una columna virtual, el correspondiente valor de la columna virtual también será actualizado. El hecho de modificar los resultados de la rejilla no significa que se realice ningún cambio en la base de datos. Puede realizar un post de los datos actualizados, borrados o insertados en la base de datos si presiona el botón Post. Cualquier cambio realizado sobre el valor de una columna, que se lleve a cabo a través de la lógica del servidor (por ejemplo, antes de que se ejecuten los disparadores de inserción o actualización de datos, o se utilicen los valores de una instrucción de inserción de datos), se verán reflejados inmediatamente en la rejilla de datos. Una vez que ha realizado un post de los datos (y si tiene la opción AutoCommit SQL Window desmarcada) los botones Commit y Rollback de la barra de herramientas se habilitarán si se ha iniciado una transacción. Para más información sobre las transacciones, vea el capítulo 17.

Editar grandes columnas de datos. Como se explicó en capítulos anteriores, puede hacer clic en el botón situado dentro de la celda de una columna de tipo Long, Long Raw, CLOB, BLOB y BFILE para ver los valores en varios formatos.

Guía del usuario de PL/SQL Developer 9.0

44

Cuando la rejilla de resultados es actualizable puede utilizar el editor de datos para cambiar el valor de una columna.

7.7

Ver y editar columnas de tipo XMLTYPE.

La versión 9.0 y las versiones anteriores de Oracle Net no soportan directamente el tipo SYS.XMLTYPE, con lo que no podrá acceder directamente a los datos en formato XML que se encuentren almacenados en una columna. Si, por ejemplo, xml_test es una columna de tipo SYS.XMLTYPE, la siguiente consulta no devolverá el resultado esperado: select id, xml_text from xml_table

Sólo la columna id se mostrará en el conjunto de resultados. Para ver los datos XML, utilice la función getclobval(): select id, t.xml_text.getclobval() from xml_table t

De esta forma la columna de tipo CLOB puede visualizarse en el editor de texto, y el resalte de la sintaxis se aplicará de forma automática. Para editar los datos XML, haga que los resultados sean actualizables de la forma habitual, incluyendo el campo rowid: select id, t.xml_text.getclobval(), rowid from xml_table t

Ahora puede editar el tipo de datos CLOB y ejecutar una instrucción post sobre los mismos en la base de datos. Observe que las funciones Ver datos y Editar datos para tablas y vistas aplicarán esas reglas, con lo que la forma más fácil para ver o editar columnas de tipo XMLTYPE se consigue haciendo clic con el botón derecho del ratón sobre la tabla o vista y seleccionando los elementos correspondientes desde el menú contextual.

7.8

Exportar consultas.

Para consultas que devuelven un gran número de resultados (diez millones de registros o más) podría ser problemático consultar primero los datos, mostrarlos en la rejilla y exportarlos posteriormente a un archivo. Esto podría consumir demasiados recursos de memoria. En este caso es más practico presionar el botón Exportar resultados de la consulta… situado en la barra de herramientas de resultados del editor de SQL, en lugar del botón Ejecutar situado en la barra de herramientas principal . Esto le mostrará un menú desplegable donde puede seleccionar el formato en el que exportar los datos, formato CSV (Comma Separated Values), formato TSV (Tab Separated Values), formato HTML, o formato XML. Después de seleccionar el formato, puede especificar el archivo al que desea exportar los datos, tras lo que se ejecutará la consulta. PL/SQL Developer no mostrará los resultados de la consulta, sólo escribirá el conjunto de resultados al archivo de exportación.

7.9

Guardar archivos SQL.

Si ha creado una instrucción SQL que desee utilizar posteriormente, puede guardarla como un archivo SQL. Para ello, presione el botón Guardar situado en la barra de herramientas e introduzca el nombre apropiado en el cuadro de diálogo. La extensión por defecto para este tipo de archivos es .SQL, aunque puede cambiarla estableciendo o modificando una de las opciones descritas en el capítulo 20.28. Observe que sólo se guarda en el fichero la instrucción SQL, no todo el historial de instrucciones. Para incluir el historial en el archivo, haga clic con el botón derecho del ratón en la ventana de consulta SQL y seleccione el elemento Guardar Historial en el menú contextual. En este caso se guardarán todas las instrucciones con una barra inversa entre ellas.

Guía del usuario de PL/SQL Developer 9.0

45

Puede abrir un archivo guardado previamente si presiona el botón Abrir situado en la barra de herramientas y selecciona el elemento Archivo SQL, lo que creará una nueva ventana de consulta SQL. Puede de forma alternativa hacer clic con el botón derecho del ratón en una ventana y seleccionar el elemento Cargar del menú contextual, lo que abrirá un archivo SQL.

7.10

Crear consultas estándar.

Para la mayoría de las tablas y de las vistas, tendrá varias consultas estándar que ejecutará con mayor o menor frecuencia. Por ejemplo “Muestra todos los empleados que son managers”, o “Muestra la suma del sueldo de todos los empleados, ordenados por el número de departamento”. Puede guardar dichas consultas como “Consultas estándar”, a las que puede recurrir más tarde utilizando el menú contextual de la tabla o vista correspondiente. Este menú aparecerá cuando haga clic con el botón derecho del ratón sobre la tabla o vista en el Explorador de Objetos o en una ventana de edición de código PL/SQL o SQL. Después de crear una consulta estándar en la ventana de consulta de SQL, puede presionar el botón Guardar como consulta estándar en la barra de tareas de la rejilla. Aparecerá el siguiente cuadro de diálogo:

Puede introducir el nombre de la consulta, que se mostrará en el menú desplegable. Puede cambiar el propietario y el nombre de la tabla o vista, al que se le mostrará la consulta estándar. Presione el botón Preferencias… para cambiar el directorio donde se almacenarán las consultas estándar. La siguiente información se guardará con la consulta estándar: • El texto de la consulta SQL. • El tamaño de la ventana de consulta SQL. • El modo de la rejilla: Modo multi registro o Modo simple Observe que puede utilizar variables de sustitución (vea capítulo 7.5) para hacer las consultas estándar más flexibles.

Guía del usuario de PL/SQL Developer 9.0

46

8. La ventana de comandos. La ventana de comandos le permite ejecutar archivos SQL de una forma idéntica a la del programa SQL*Plus de Oracle. Para abrir la ventana de comandos presione el botón Nuevo situado en la barra de herramientas o seleccione el elemento Nuevo en el menú Archivo. Se abrirá una ventana de comandos en la que podrá escribir comandos de SQL y SQL*Plus de la misma forma que si estuviese ejecutando SQL*Plus, pero sin abandonar el entorno de desarrollo de PL/SQL Developer

8.1

Introducir comandos e instrucciones SQL.

Al igual que en SQL*Plus, puede escribir instrucciones de SQL en múltiples líneas y finalizar la instrucción con punto y coma (;) o barra invertida (\). Puede utilizar las teclas de izquierda y derecha para editar la línea de comandos, y también las de arriba y abajo para volver a utilizar líneas introducidas anteriormente. Si introduce el comando edit, puede utilizar un editor de texto para editar todo el contenido del buffer. Después de editarlo, puede ejecutarlo introduciendo una barra invertida (\) en la línea de comandos. El editor almacena un histórico con todos los comandos ejecutados anteriormente, con lo podrá ejecutar rápidamente un comando modificado. La barra de estado de la ventana de comandos muestra el estado de las opciones Echo, Termout, Feedback, Verify, Autoprint, Heading y Timing. Puede cambiar su estado haciendo doble clic con el botón izquierdo del ratón sobre ellas.

8.2

Desarrollar archivos de comandos.

Para escribir un archivo de comandos con múltiples declaraciones y comandos, a menudo necesita editar el archivo, ejecutarlo, editarlo otra vez, ejecutarlo otra vez, etc. Para hacer este proceso un poco

Guía del usuario de PL/SQL Developer 9.0

47

más cómodo, la ventana de comandos posee un editor incorporado que resalta la sintaxis de SQL, PL/SQL y SQL*Plus.

Abrir, Ejecutar y Guardar un archivo de comandos. Para crear un archivo de comandos, sitúese en la pestaña Editor e introduzca los comandos. Para ejecutar los comandos en el editor, presione el botón Ejecutar o la tecla F8. La ventana de comandos volverá a la pestaña de Diálogo y ejecutará todos los comandos. Para editar un archivo de comandos existente, presione el botón Abrir situado en la barra de herramientas y seleccione el elemento Archivo de comando. Al hacerlo, cargará el archivo de comandos en el editor. De forma alternativa puede abrir un archivo de comandos haciendo clic con el botón derecho del ratón en el editor y seleccionando la opción Cargar del menú contextual. Para guardar un archivo de comandos modificado, presione el botón Guardar situado en la barra de herramientas.

Desplazarse a través del código. Si presiona el botón Pausar ejecución situado en la barra de estado, antes o durante la ejecución del archivo, podrá moverse por el archivo de comandos de una forma controlada. El siguiente comando se resaltará en el editor y será ejecutado cuando presione de nuevo el botón Ejecutar siguiente comando situado en la barra de estado. Si presiona de nuevo el botón Pausar ejecución, la ejecución continuará con normalidad. Puede simular el botón Pausar ejecución desde un archivo utilizando el comando SET EXECPAUSE.

Guía del usuario de PL/SQL Developer 9.0

8.3

48

Comandos soportados.

Aparte de soportar todas las declaraciones del lenguaje SQL, la ventana de comandos también soporta los siguientes comandos de SQL*Plus: Comando / ? [Keyword] @[@] [Filename] [Parameter list] ACC[EPT] Variable [DEF[AULT] Value] [PROMPT Text | NOPR[OMPT]] CL[EAR] [SCR[EEN]] CL[EAR] SQL COL[UMN] [Column] [Format] [New Value variable] CON[NECT] [username/password@database] DEF[INE] [Variable] [ = Text] DESC[RIBE] Object DISC[CONNECT] EDIT EXEC[UTE] Procedure EXIT [APPLICATION]

GET [Filename] HOST [Command] HELP [Keyword] PAUSE [Message] PRI[NT] [Variable] PROMPT [Text] QUIT [APPLICATION]

R[UN] REM[ARK] [Text] SET AUTOP[RINT] [ON | OFF]

SET COLSEP [Separator | OFF] SET CON[CAT] [Character | ON | OFF] SET DEF[INE] [Character | ON | OFF] SET ECHO [ON | OFF] SET ESC[APE] [Character | ON | OFF] SET FEED[BACK] [ON | OFF] SET HEA[DING] [ON | OFF] SET LONG [Width]

Significado Ejecuta las instrucciones SQL almacenadas en el buffer. Muestra la ayuda para la instrucción indicada. Ejecuta el archivo de comandos indicado, pasándole los parámetros especificados. Permite al usuario introducir el valor de una variable de sustitución. Limpia la pantalla. Limpia el contenido del buffer. Define el formato de una columna o muestra los formatos de todas las columnas. Conecta a la base de datos con el usuario especificado. Define una variable de sustitución, muestra una o todas las variables de sustitución. Muestra una descripción del objeto indicado. Desconecta la sesión actual de la base de datos. Carga el editor de texto con las instrucciones SQL almacenadas en el buffer. Ejecuta el procedimiento indicado. Termina la ejecución de un archivo de comandos o cierra la ventana de comandos. Si añade el parámetro Aplicación cerrará PL/SQL Developer. Carga un archivo de comandos en el editor. Ejecuta un comando externo. Muestra información sobre la palabra reservada. Muestra un mensaje y detiene la ejecución hasta que el usuario presione Ok o Cancel. Muestra el valor de una o todas las variables de acoplamiento. Muestra el texto indicado. Termina la ejecución de un archivo de comandos o cierra la ventana de comandos. Si añade el parámetro Aplicación cerrará PL/SQL Developer. Ejecuta las instrucciones almacenadas en el buffer. Comenta una línea. Determina si las variables se muestran automáticamente después de ejecutar una sentencia SQL o un bloque de código PL/SQL. Determina el separador de las columnas (por defecto =” ”) Determina el carácter que termina la referencia a una variable de sustitución (por defecto =). Determina el carácter que inicia una referencia a una variable de sustitución (por defecto =&). Determina si se muestran los comandos ejecutados en un archivo de comandos Determina el carácter que evita el carácter de inicio de una referencia a una variable de sustitución (por defecto = \) Determina si se muestra el número de columnas afectadas por una instrucción SQL. Determina si las cabeceras se muestran sobre las columnas de un conjunto de resultados. Determina el ancho máximo a mostrar para una columna de

Guía del usuario de PL/SQL Developer 9.0

Comando SET NUM[WIDTH] [Width] SET PAGES[IZE] [Size]

SET PROMPT [Prompt]

SET SCAN [ON | OFF] SET SERVEROUT[PUT] [ON | OFF] [SIZE n]

SET SPOOL*DIRECTORY [Directory]

SET TERM[OUT] [ON | OFF] SET TIMI[NG] [ON | OFF] SET VER[IFY] [ON | OFF]

SHO[W] ERR[ORS] [Type Name] SHO[W] REL[EASE] SHO[W] SQLCODE SHO[W] USER SPO[OL] [Filename | APPEND | OFF | OUT]

STA[RT] [Filename] [Parameter list] STORE SET [Filename]

UNDEF[INE] Variable VAR[IABLE] [Variable] [Datatype] WHENEVER [OSERROR | SQLERROR] [Action]

49

Significado tipo long. Determina el ancho máximo a mostrar para una columna de tipo long sin precisión. Determina el número de líneas que se muestran de un conjunto de resultados, antes de que se repitan los encabezados del mismo. Reemplaza al indicador (prompt) estándar SQL>. En vez de utilizar texto puede también utilizar las variables [user], [db] o [connection].Además puede incluir variables de acoplamiento (set prompt: bind_var_name). Determina si las variables de sustitución deben escanearse. Determina si se muestran los resultados de las llamadas a dbms_output.put_line, y cual es el tamaño del buffer de salida. El valor “n” puede ser “UNLIMITED” para un tamaño de buffer ilimitado. Determina en que directorio se almacenarán los archivos, si el usuario no especifica una ruta al ejecutar el comando SPOOL. Determina si se muestran los resultados de las instrucciones SQL ejecutadas. Determina si se muestra la duración de ejecución de las instrucciones SQL. Determina si se muestran las variables de sustitución cuando se usan en una instrucción SQL o en un bloque de código PL/SQL. Muestra los errores previos de compilación o los errores de un objeto específico. Muestra la información de la versión de Oracle para la conexión actual. Muestra el código SQL de la instrucción SQL ejecutada. Muestra el usuario conectado actualmente. Inicia, detiene o imprime[OUT] el volcado de datos. Si el valor Filename contiene la extensión .zip, los datos volcados a través de la salida de datos será comprimida en un archivo con dicha extensión. Ejecuta el archivo de comandos especificado, pasándole los parámetros especificados. Almacena los valores de todas las opciones en un archivo. Puede ejecutar ese archivo posteriormente para restablecer esas opciones. Borra la variable de sustitución indicada. Define una variable de acoplamiento, muestra una o todas las variables de acoplamiento. Especifica que acción se debe realizar siempre que se produzca un error del sistema operativo o de SQL. Las acciones pueden ser EXIT o CONTINUE, seguidas opcionalmente de COMMIT o ROLLBACK.

Los comandos de la lista mostrados anteriormente son los mismos comandos soportados en SQL*Plus. La lista de comandos que se muestra a continuación es específica de PL/SQL Developer: Comando BEAUT[IFY] Archivo | Objeto

BROWSE Objeto

Función Formatea el objeto de base de datos o el archivo especificado, empleando las reglas actuales o las reglas especificadas mediante el comando SET BEAUTIFIER. Selecciona el objeto en el Explorador de Objetos.

Guía del usuario de PL/SQL Developer 9.0

EDIT Objeto EDITD[ATA] Tabla | Vista EXPORT[DATA] Tabla INFO PROP[ERTIES] Objeto QUERY[DATA] Tabla | Vista REC[OMPILE] Objeto RUNTEST[SET] TestSetFile [LogFile] SET BEAUT[IFIERRULES] [Archivo] SET COL[WIDTH] [Ancho]

SET EXEC[PAUSE] [ON | OFF] SHOW CONN[ECTION] SQLPLUS TEST Unidad de programa VIEW Objeto ZIP Archive [File | Directory]

50

Abre una ventana editable que le muestra la definición del objeto. Abre una ventana de consulta SQL para la tabla o vista especificada permitiéndole editar los resultados. Abre la herramienta de exportación para la tabla especificada. Muestra la ventana de información de la conexión. Muestra la ventana de propiedades para el objeto especificado. Abre una ventana de consulta SQL para la tabla o vista especificada mostrando los resultados de sólo lectura. Vuelve a compilar el objeto especificado. Ejecuta el conjunto de pruebas especificado y guarda el resultado del mismo en un archive de log. Utiliza de forma temporal las reglas del BEAUTIFIER. Puede ser utilizado con el comando BEAUTY. Determina el ancho máximo de una columna en un conjunto de resultados. Si el valor es igual a = 0, el ancho de la columna es ilimitado. Por defecto el valor es 80. Pausa la ejecución en el siguiente comando (ON), o continúa la ejecución del siguiente comando (OFF). Muestra información sobre todas las conexiones de PL/SQL Developer. Abre SQL*Plus con el archivo actual. Abre una ventana de prueba con un archivo de prueba estándar para la unidad de programa especificada. Abre una ventana de sólo lectura con la definición del objeto. Añade el archivo o directorio al archivo comprimido. Si el se omite el parámetro File o Directory, se mostrará el contenido del archivo comprimido.

Guía del usuario de PL/SQL Developer 9.0

51

9. Crear y modificar objetos. Durante el proceso de desarrollo de código PL/SQL normalmente necesitará crear una tabla, modificar una restricción o un índice, reiniciar una secuencia, etc. PL/SQL Developer posee diversas funciones que le permiten crear y modificar tablas (y sus elementos relacionados), secuencias, sinónimos, librerías, directorios, usuarios y roles. Este capítulo no explica la funcionalidad de esos objetos, simplemente explica como crearlos, modificarlos y ver sus propiedades. Para más información acerca de la funcionalidad de cada objeto, vea la documentación de Oracle. Para crear un objeto, puede presionar el botón Nuevo situado en la barra de herramientas y seleccionar el tipo de objeto correspondiente, o seleccionar el elemento Nuevo en el menú Archivo. De forma alternativa también puede hacer clic con el botón derecho del ratón sobre la carpeta principal del tipo de objeto que desea crear y seleccionar el elemento Nuevo desde el menú contextual. Para modificar un objeto, selecciónelo en el Explorador de Objetos, haga clic con el botón derecho del ratón sobre él, y seleccione el elemento Editar desde el menú contextual. No puede cambiar el nombre de un objeto de esta forma, debe utilizar la función Renombrar desde el Explorador de Objetos siempre y cuando el tipo de objetos soporte esta función. Si quiere ver el objeto, seleccione el elemento Ver desde el menú contextual. De forma adicional puede duplicar un objeto si selecciona el elemento Duplicar desde el menú contextual del Explorador de Objetos. Aparecerá la ventana del editor de objetos con todas las propiedades rellenas, excepto la propiedad Owner (si es aplicable) y la propiedad Name. De esta forma puede crear rápidamente un objeto similar para realizar pruebas sobre el.

9.1

El editor de tablas.

El editor de la definición de tablas tiene siete pestañas para varios aspectos de una tabla:

En la parte inferior del editor, puede ver los siguientes botones: •

Aplicar – Aplicará todas las modificaciones que haya realizado en el editor a la base de datos.

Guía del usuario de PL/SQL Developer 9.0

52



Refrescar – Recupera la información de la base de datos, descartando cualquier cambio que haya realizado.

• • •

Cerrar – Cierra la ventana del editor. Ayuda – Muestra la ayuda en línea. Consultar – Llama a la ventana de consulta SQL con una consulta que le permite ver y editar los datos de la tabla. Ver SQL – Muestra un editor de texto con las instrucciones SQL resultantes de los cambios realizados en el editor. Si no ha realizado ningún cambio en el objeto, mostrará la sentencia SQL completa de creación de la tabla. Los siguientes capítulos describen las diferentes pestañas del editor de definición de la tabla.



Pestaña General. La pestaña General que se muestra en la imagen, contiene el propietario de la tabla y el nombre, información de almacenamiento, clúster y comentarios. Para una nueva tabla puede dejar todas las propiedades en blanco, excepto el nombre. El resto de las propiedades tendrán un valor por defecto. • Owner – El usuario conectado a la base de datos. • Tablespace – El tablespace por defecto del usuario actual. • %Free – 10 • %Used – 40 • Initial transaction entries – 1 • Maximum transaction entries – 255 Los valores por defecto de las propiedades de los segmentos (initial extent, next extent, %increase, minimum extents and maximum extents) dependen de los valores por defecto correspondientes del tablespace seleccionado. La información del clúster, de almacenamiento y las propiedades de duración de la tabla son mutuamente excluyentes, debido a que un clúster define de forma implícita las características de almacenamiento de una tabla, y las tablas temporales no pueden agruparse en modo clúster y también tienen implícitas las características de almacenamiento. Si selecciona External como forma de organización de la tabla. PL/SQL Developer deshabilitará las propiedades de almacenamiento y hará visible una nueva pestaña llamada External donde podrá definir el directorio externo y las propiedades de los archivos. Si introduce o selecciona el nombre de un clúster, las propiedades de almacenamiento y duración se volverán de sólo lectura y podrá introducir las columnas del clúster. Si borra el nombre del clúster obtendrá el efecto contrario. Si define una tabla como temporal, el clúster y la información de almacenamiento se volverán de sólo lectura y puede definir si las filas se guardan después de ejecutar una instrucción commit. Si define una tabla organizada mediante índices, debe definir una clave primaria. Para las tablas que no están organizadas mediante índices no es un requisito. Si esta modificando una tabla existente, no puede cambiar todas las propiedades. Los valores del tablespace, initial extent, minimum extents, clúster information, las propiedades de almacenamiento y de clúster no pueden modificarse para una tabla existente. Si desea cambiar cualquiera de esas propiedades debe marcar la opción Recreate table en la parte superior de la pestaña General. Todos los datos, disparadores y claves foráneas se borrarán con lo que debe tener cuidado cuando utilice esta opción.

Guía del usuario de PL/SQL Developer 9.0

53

Pestaña Columnas. En la pestaña Columnas puede ver, añadir, borrar, mover y modificar las columnas de una tabla. Si está creando una tabla basada en un objeto, puede seleccionar el tipo de objeto en esta pestaña:

Para añadir una columna puede presionar el botón Insert columna, o puede comenzar a teclear la información de una nueva columna en la ultima fila (lo que creará una nueva fila vacía). La columna Tipo contiene una lista de sugerencias con los tipos de datos más comunes, pudiendo utilizar cualquier otro tipo de datos que no se encuentren en la lista. La columna Valor por defecto requiere que introduzca un valor en el formato apropiado, por ejemplo las cadenas de texto deben ir entre comas simples. Para borrar una columna, presione el botón Eliminar columna. Esto borrará la columna que tiene el foco de la aplicación o todas las columnas seleccionadas. Puede seleccionar todas las columnas si presiona en la cabecera de la fila. Si pulsa con el botón izquierdo del ratón y lo arrastra seleccionará un rango de filas. Si presiona la tecla Control mientras hace clic en la cabecera de una fila podrá seleccionar de forma individual múltiples columnas. Para mover una o más columnas, selecciónelas como se describe en el párrafo anterior. Ahora puede hacer clic con el botón izquierdo del ratón en una de las cabeceras de las filas y mover las filas seleccionadas a la posición deseada. Para una columna virtual (por ejemplo, la columna email en el ejemplo anterior) puede introducir la expresión en el campo Defecto/Expr. Para columnas reales este campo contiene el valor por defecto. No puede cambiar el nombre de las columnas de tablas existentes a no ser que se encuentre utilizando Oracle 9.2 o posterior. Tampoco puede borrar dicha columna a no ser que se encuentre utilizando Oracle 8i o una versión superior. Para superar estas limitaciones puede marcar la opción Recreate table situada en la pestaña General. Las consecuencias del uso de esta opción se describieron en el capítulo anterior. Observe que si cambia el nombre de una columna se propagarán los cambios a las restricciones de las columnas, índices y columnas de tipo clúster. Si selecciona el propietario del tipo y el nombre del tipo en la parte superior de la pestaña, creará una tabla basada en ese tipo de objeto. Los nombres de las columnas y sus tipos se encuentran definidos y restringidos a los atributos del tipo de objeto. Puede definir si una columna puede ser nula, su valor por

Guía del usuario de PL/SQL Developer 9.0

54

defecto, sus propiedades de almacenamiento y sus comentarios. Si desea cambiar el tipo de objeto posteriormente, debe seleccionar la opción Recreate table en la pestaña General.

Pestaña Claves. En la pestaña Claves puede ver, añadir, borrar y modificar las claves primarias, únicas y foráneas de la tabla:

Puede manipular la rejilla de la misma forma que la rejilla de la pestaña Columnas. Puede añadir, borrar y modificar las restricciones comprobación (check constraints). Puede mover las restricciones pero no tendrá ningún efecto, ya que no están realmente ordenadas. Observe que la información de almacenamiento del índice subyacente utilizado para forzar que se cumpla una clave primaria o una clave única no está definida en esta pestaña. Si la restricción está habilitada, existirá el correspondiente índice en la pestaña Índices con el mismo nombre. Para este índice puede definir la información de almacenamiento. Deshabilitando o borrando una clave de tipo primario o único borrará de forma implícita el índice subyacente. La columna Tipo tiene una lista que le permite seleccionar el tipo de la clave Primary, Unique o Foreign key. De forma rápida puede seleccionar el tipo correcto si selecciona el primer carácter (P, U o F). Observe que sólo puede tener una clave primaria, y que el valor por defecto de esta columna (Primary o Unique) depende de esto. Si cambia el tipo de la clave afectará a las columnas Tabla referenciada, Columnas referenciadas y Borrado ya que sólo son validas para restricciones de tipo foráneo. Si cambia el tipo de la clave a Foreign, borrará de forma implícita el índice. Para definir las columnas que se aplican a la clave, teclee los nombres de las columnas en la celda apropiada (separando los valores mediante comas), o presione el botón que se encuentra dentro de la celda. Esto las cargará en la pantalla de selección de columnas donde puede fácilmente añadir, borrar o mover las columnas que formarán la clave:

Guía del usuario de PL/SQL Developer 9.0

55

Para las claves foráneas puede teclear o seleccionar la tabla a la cual referencia seleccionando la columna Tabla referenciada. Automáticamente PL/SQL Developer seleccionará las columnas por defecto, basándose en las claves primaria o única de la tabla. La lista de selección para estas columnas muestra todos los conjuntos de columnas que forman las claves primaria o única para la tabla referenciada, y son además los únicos candidatos aquí. En la lista Borrado puede definir que acción debe realizarse para los registros de las tablas hijas cuando el registro padre se borra. La acción Set null esta soportada en Oracle8i y versiones posteriores. Si esta utilizando Oracle8 o una versión posterior, puede de forma adicional definir si la restricción es Diferible y su estado inicial. Esas dos opciones están obviamente relacionadas: no puede tener una restricción de tipo No diferible en una restricción que inicialmente es Diferible.

Guía del usuario de PL/SQL Developer 9.0

56

Pestaña Comprobaciones. En la pestaña Comprobaciones puede ver, añadir, borrar y modificar las restricciones de la tabla:

Puede manipular la rejilla de la misma forma que la rejilla de la pestaña Columnas. Puede añadir, borrar y modificar las restricciones de comprobación (check constraints). La columna Condición debe contener una expresión de tipo boolean que debe establecerse a verdadero/falso para todas las filas de la tabla. No puede aplicar una restricción de comprobación si una o más filas de una tabla vulneran esta condición a no ser que desmarque la opción Habilitada. Puede habilitar la restricción de comprobación después de corregir las filas que vulneran dicha restricción. Si esta utilizando Oracle8 o una versión posterior, puede de forma adicional definir si la constante es Diferible y su estado inicial. Esas dos opciones están obviamente relacionadas: no puede tener una restricción de tipo No diferible en una restricción que inicialmente es Diferible.

Guía del usuario de PL/SQL Developer 9.0

57

Pestaña índices. En la pestaña índices puede ver, añadir, borrar o modificar los índices de la tabla:

Puede manipular la rejilla de la misma forma que la rejilla de la pestaña Columnas. Puede añadir, borrar y modificar los índices. La propiedad Propietario del índice puede dejarse en blanco, el propietario por defecto será el usuario que se encuentre conectado a la base de datos. Si desea utilizar un propietario diferente para el índice, selecciónelo de la lista. El tipo de índice puede ser Normal, Unique, o Bitmap. Este último sólo se encuentra disponible en servidores Oracle7.3 o en versiones posteriores. Observe que sólo puede crear un índice único si las columnas de cada fila de la base de datos son únicas. Como este no es nuestro caso no podemos aplicar este índice a la base de datos. Para definir las columnas de la tabla que desea indexar, simplemente teclee los nombres de las columnas en la celda apropiada (separadas mediante comas), o presione el botón situado dentro de la celda. Esto llamará a una pantalla de selección de columnas donde podrá fácilmente añadir, borrar u ordenar las columnas del índice. Para los índices basados en funciones, puede especificar las funciones, separadas mediante comas. Para índices descendentes, coloque el texto DESC después del nombre de la columna. Adicionalmente puede habilitar la compresión para el índice, incluyendo el número de columnas prefijadas y definir el índice como índice inverso. Si el índice es para una clave primaria o única entonces el usuario, el tipo y las columnas no pueden modificarse. Esas propiedades derivan de la restricción. Si cambia el nombre de una clave cambiará automáticamente el nombre del índice correspondiente, si cambia las columnas de una restricción cambiará las columnas del índice correspondiente. El propietario del índice será el mismo propietario que el de la tabla y el tipo del índice siempre será único. Puede ver o modificar los parámetros de almacenamiento si presiona el botón situado dentro de la celda. Esto llamará al editor de almacenamiento:

Guía del usuario de PL/SQL Developer 9.0

Para índices nuevos no necesita introducir ningún tipo de información, cada propiedad tiene su valor por defecto: • Tablespace – El tablespace por defecto del usuario actual. • %Free – 10 • Initial transaction entries – 2 • Maximum transaction entries – 255 Los valores por defecto de las propiedades de los segmentos (initial extent, next extent, %increase, minimum extents and maximum extents) dependen de los correspondientes valores por defecto del tablespace. La propiedad %Used no puede utilizarse con los índices. Observe que, si modifica las propiedades %free, initial extent, and minimum extents de un índice existente, implicará que el índice y las restricciones se borren y se vuelvan a crear para aplicar los cambios. Para índices largos este proceso puede emplear mucho tiempo.

58

Guía del usuario de PL/SQL Developer 9.0

59

Pestaña Privilegios.

En la pestaña Privilegios, puede asignar o revocar privilegios sobre una tabla a los usuarios y roles:

Puede manipular esta rejilla de la misma forma que la rejilla situada en la pestaña Columnas. Puede añadir, borrar o modificar un usuario o rol asignado. Borrar un usuario o rol equivale a revocar todos sus privilegios individuales. Usuario/Rol es el usuario o rol al que quiere asignar determinados privilegios. Observe que los privilegios asignados a un rol no serán suficientes para el desarrollo de unidades de programa almacenadas. Si a un usuario le asigna el privilegio de select sobre una tabla a través de un rol y existen referencias a esta tabla en unidades de programa almacenadas, la compilación fallará debido a que se desconoce la tabla. Debe asignarse el privilegio de select directamente si el objeto se utiliza en una unidad de programa que pertenezca al usuario. Las columnas de los privilegios pueden almacenar 3 valores: • (Blank) – El usuario o rol no tiene privilegios. • Yes – El usuario o rol tiene privilegios. • Grantable – El usuario tiene privilegios y puede asignarlo a otros roles. Los privilegios Select, Insert, Update y Delete permiten realizar estas acciones en los registros de las tablas. El privilegio References permite crear claves foráneas a esta tabla. El privilegio Alter permite modificar la definición de la tabla mediante el comando alter table. El privilegio Index permite crear un índice en la tabla.

Guía del usuario de PL/SQL Developer 9.0

60

Pestaña Particiones. La pestaña Particiones sólo es visible cuando crea una tabla o cuando edita una tabla particionada existente:

En la parte superior de la pestaña puede seleccionar el tipo de partición, Range, Hash o List así como las columnas de la partición. En la rejilla puede definir el nombre, los valores de la columna y las opciones de almacenamiento de cada partición. Si ha definido más de una columna, debe separar los valores mediante comas. Si selecciona el tipo de la partición como Range, PL/SQL Developer habilitará una nueva pestaña llamada Subpartition en la que podrá definir sub particiones de manera adicional.

Guía del usuario de PL/SQL Developer 9.0

61

Pestaña Externa Si el tipo de organización de la tabla ha sido definida como externa en la pestaña General, esta pestaña se volverá visible.

Desde aquí tiene acceso al tipo de driver utilizado y a los datos de las propiedades que definen esta tabla como externa

Guía del usuario de PL/SQL Developer 9.0

62

Ver y modificar la definición de la tabla mediante SQL. Después de crear una tabla, o modificar una tabla existente, puede ver el texto SQL resultante si presiona el botón Ver SQL. Después de añadir un comentario a la tabla y modificar las columnas ename y job de opcionales a obligatorias, el texto de la instrucción SQL se parecerá al siguiente:

Puede guardar el texto SQL a un archivo, copiarlo al portapapeles o abrirlo en una nueva Ventana de Comando utilizando los botones situados en la parte derecha de la ventana. El botón Imprimir situado en la barra de herramientas le permitirá imprimir el texto SQL. Puede hacer cambios en el texto SQL y aplicarlos posteriormente. Después de aplicar esos cambios, la ventana volverá al modo formulario y refrescará la definición de la tabla. Los cambios realizados en el texto SQL se reflejarán inmediatamente en los formularios. Si presiona otra vez el botón Ver SQL, la ventana volverá al modo formulario, descartando los cambios sin aplicar que haya realizado al texto SQL. Si presiona la opción Ver en el Explorador de Objetos para ver la definición de la tabla, el botón Ver SQL mostrará el texto SQL de creación de la tabla sin mostrar el comando drop. De esta forma puede guardar el texto de definición de la tabla en un archivo o copiar su definición a otra base de datos o a otro usuario.

9.2

El editor de secuencias.

El editor de secuencias le permite crear o modificar fácilmente una secuencia:

Guía del usuario de PL/SQL Developer 9.0

63

La mayoría de las propiedades del editor de secuencias tienen un valor por defecto, con lo que necesitará introducir un nombre cuando cree una nueva secuencia: • Owner – El propietario conectado a la base de datos. • Minimum value – 1 • • • • • •

9.3

Maximum value – Unlimited Initial value – 1 Increment by – 1 Cache size – 20 Cycle – Off Order – Off

El editor de sinónimos.

El editor de sinónimos le permite crear y modificar fácilmente un sinónimo:

El valor por defecto del campo Owner será el usuario conectado a la base de datos. Marcando la opción Public se creará un sinónimo público y el estado de la propiedad Owner pasará a ser de sólo lectura. Los campos Object Owner y Object Name tienen una lista de sugerencias para seleccionar fácilmente una traducción para el objeto del sinónimo. Si el campo Object owner está vacío, la lista del campo Object name mostrará todos los objetos.

9.4

El editor de librerías.

El editor de librerías le permite fácilmente crear o modificar una librería:

El valor por defecto para la propiedad Owner será el usuario conectado a la base de datos, pudiendo utilizar la lista de sugerencias para crear una librería con un propietario diferente. La propiedad Filespec almacena la ruta completa de la librería 3GL que desee utilizar. Si se encuentra desarrollando en el servidor de la base de datos, entonces puede utilizar el botón Select DLL file para seleccionar la librería de vínculos dinámicos. De otra forma, tiene que teclear la ruta completa y el nombre de la DLL (Windows) o del objeto compartido (Unix). PL/SQL Developer no comprueba la validez de la propiedad Filespec.

Guía del usuario de PL/SQL Developer 9.0

9.5

64

El editor de directorios.

El editor de directorios le permite crear o modificar un directorio fácilmente, que podrá ser utilizado para almacenar archivos de tipo BFILE:

Si se encuentra desarrollando en el servidor, puede utilizar el botón Select directory para seleccionar la ruta del directorio. PL/SQL Developer no comprueba si la ruta del directorio es correcta.

9.6

El editor de trabajos de la base de datos.

El editor de trabajos le permite crear y modificar trabajos de la base de datos:

Crear un nuevo trabajo equivale a realizar una llamada a dbms_job.submit. Modificar un trabajo existente equivale a realizar una llamada a dbms_job.change. Para más información acerca de los trabajos, vea el capítulo DBMS_JOB en el manual Oracle Supplied Packages Reference. El botón Abrir PL/SQL Editor situado al lado del campo What abre el editor de PL/SQL con resalto de sintaxis, asistente de código, etc.…

9.7

El editor de listas.

Guía del usuario de PL/SQL Developer 9.0

El editor de listas le permite crear o modificar listas :

Para el nombre de la tabla puede seleccionar un tabla existente o puede presionar el botón Crear para crear una nueva tabla (vea el capítulo 9.8). Para más información consulte los siguientes manuales de Oracle: • Application Developer's Guide - Advanced Queuing •

9.8

Supplied PL/SQL Packages and Types Reference

El editor de tablas de listas avanzadas.

El editor de tablas de listas le permite crear o modificar una tabla de listas avanzada:

En la pestaña General puede definir el nombre, los parámetros de almacenamiento y los comentarios para la tabla. En la pestaña Privilegios puede asignar privilegios sobre la tabla a usuarios y roles. Para más información vea el capítulo 9.1. En la pestaña Queue puede introducir la información de definición de la tabla. Para el campo payload type puede seleccionar un tipo de objeto existente o RAW para crear una cola de tipo RAW. Para más información consulte los siguientes manuales de Oracle: • •

Application Developer's Guide - Advanced Queuing Supplied PL/SQL Packages and Types Reference

65

Guía del usuario de PL/SQL Developer 9.0

9.9

66

El editor de usuarios.

El editor de usuarios le permite crear o modificar un usuario, sus privilegios y las cuotas de los tablespaces:

Observe que necesita privilegios del sistema (como los que provee el rol DBA) para ver y modificar la información del usuario.

Pestaña General. En la pestaña general sólo necesita introducir el nombre del usuario y la contraseña. Todas las demás propiedades tienen un valor por defecto: • Default tablespace – SYSTEM • Temporary tablespace – SYSTEM • Profile – DEFAULT • Password expire – Off • Account Locked – Off Si modifica un usuario existente, el campo password de dicho usuario no se mostrará. Introduzca una nueva contraseña para cambiarlo o déjelo en blanco para mantener el valor del password actual. Si el usuario se identifica de forma externa, usted no puede introducir un password.

Guía del usuario de PL/SQL Developer 9.0

67

Privilegios sobre objetos.

Esta pestaña le permite ver y modificar los privilegios sobre objetos asignados al usuario. Aquí no se incluyen los privilegios que se han autorizado indirectamente a través de un rol. En la primera columna puede ver el objeto en el cual se asignan los privilegios al usuario. El resto de las columnas representan un privilegio específico. Cada privilegio puede tener los siguientes valores: • (Blank) – El usuario no tiene privilegios. • •

Yes – El usuario tiene privilegios. Grantable – El usuario tiene privilegios y puede asignarlo a otros usuarios o roles.

Privilegios sobre roles.

Esta pestaña muestra los roles asignados a un usuario. Cada rol sobre un privilegio puede ser Autorizable, con lo que el usuario puede asignarlo a otros usuarios y roles. Si un privilegio sobre rol esta establecido como Defecto, el rol se habilitará por defecto cuando el usuario se conecte al sistema. Si no es el rol por defecto, el privilegio sobre el rol debe ser activado para la sesión actual mediante el comando set role después de que el usuario se haya conectado.

Guía del usuario de PL/SQL Developer 9.0

68

Privilegios del sistema.

Esta pestaña muestra los privilegios del sistema asignados al usuario. Cada privilegio puede ser Autorizable, con lo que el usuario puede asignarlo a otros usuarios y roles.

Pestaña Cuotas.

Esta pestaña muestra las cuotas de los tablespaces para el usuario. Puede introducir el número máximo de bites, kilo bites o mega bites que se le asignarán al usuario, o puede especificar que la cuota para el usuario es ilimitada.

9.10

El editor de roles.

Guía del usuario de PL/SQL Developer 9.0

69

El editor de roles le permite crear o modificar un rol y sus privilegios:

Por defecto un rol no necesita identificarse. Puede definir el tipo de identificación, mediante contraseña o mediante identificación externa para un rol. La identificación mediante contraseña requiere que introduzca una contraseña, y es útil si el rol no esta asignado por defecto a los usuarios. Dicho rol necesita establecerse después de que el usuario se conecte al sistema, lo que requiere una password. Las otras tres pestañas (Privilegios sobre objetos, Privilegios sobre roles y Privilegios del sistema) funcionan de la misma forma que las pestañas correspondientes en la definición de los usuarios.

9.11

El editor de perfiles.

El editor de perfiles (profiles) le permite editar las restricciones de los recursos, de las contraseñas y los usuarios que pertenecen a un determinado perfil:

Cada uno de los límites del editor puede establecerse al valor Default, en cuyo caso el valor se heredará del perfil estándar DEFAULT, a Unlimited, o a un valor concreto. En la pestaña Usuarios puede definir a que usuarios se le aplica el perfil. Observe que si elimina un usuario de un perfil determinado, este se asignará al perfil Default.

Guía del usuario de PL/SQL Developer 9.0

9.12

El editor de vínculos de bases de datos.

El editor de vínculos le permite crear y editar vínculos de la base de datos (database links).

Observe que el editor de vínculos de bases de datos no mostrará las propiedades Password y Authenticated By cuando edite un vínculo de bases de datos. Tendrá que introducir esta información cada vez que necesite editar un vínculo.

70

Guía del usuario de PL/SQL Developer 9.0

71

10. Planificador de tareas. Puede utilizar la herramienta DBMS Scheduler para acceder al planificador de tareas de Oracle (DBMS_SSCHEDULER) incluido a partir de la versión 10G de Oracle Server. Para utilizarlo seleccione el elemento Planificador de tareas desde el menú Herramientas o haga clic con el botón derecho del ratón sobre el objeto Scheduler y seleccione la opción Editar o Ver desde el menú contextual. Observe que para obtener información más detallada sobre la funcionalidad DBMS_SCHEDULER puede dirigirse a la documentación de Oracle, más concretamente a la guía Oracle Database Concepts para ver los conceptos del planificador de tareas de Oracle y a la guía de referencia Oracle Database PL/SQL packages and Types, para información sobre la interfaz de programación. Una vez ejecutado el Planificador de tareas, podrá ver una ventana como la que se muestra a continuación:

En la parte izquierda de la pantalla, puede ver las carpetas para los distintos objetos que puede utilizar el Planificador de tareas así como carpetas para los trabajos en ejecución. Las carpetas Windows Groups, Jobs y Job classes son de sistema y se muestran inmediatamente en la raíz de la carpeta correspondiente. Schedules, Programs y Jobs son propiedad de usuarios específicos por lo que cada carpeta contiene subcarpetas para los propietarios. En la parte superior derecha de la pantalla, puede ver las propiedades de los objetos seleccionados, en la parte inferior, justo debajo de las propiedades se muestran detalles adicionales de los objetos seleccionados. Cuando esté creando o editando objetos, puede introducir la información desde aquí.

Guía del usuario de PL/SQL Developer 9.0

Horarios.

Un horario especifica cuando y cuantas veces se ejecuta una tarea. Los horarias pueden compartirse entre múltiples trabajos. Por ejemplo, el fin de un trimestre, laboralmente hablando, es un marco de tiempo común para muchos trabajos. En vez de tener que definir un horario para cada uno de los diferentes trabajos que se definen, puede indicar un horario común para todos ellos.

Ventanas.

72

Guía del usuario de PL/SQL Developer 9.0

73

Puede utilizar una ventana para ejecutar automáticamente un trabajo o para cambiar la localización de los recursos de los trabajos utilizando diferentes periodos de tiempo al día, semana, etc.… Una ventana está representada por un intervalo de tiempo con una hora de inicio y de fin bien definida. Por ejemplo, entre las “12 Am” y “6 Pm”. Puede especificar de forma individual las propiedades del horario para la ventana definida. También puede, de forma alternativa, seleccionar un horario existente para la ventana que acaba de crear. Todas las propiedades del horario se muestran en letra cursiva, indicando que se refieren al horario seleccionado. Si omite una o mas propiedades de un horario, el horario se borrara indicándole que tiene un horario personalizado. Esta capacidad de PL/SQL Developer le permite utilizar un calendario ya existente como si fuese una plantilla. En la parte inferior de la ventana puede añadir o eliminar la pertenencia a un grupo de ventanas para la ventana de tiempo actual, activando o desactivando la opción correspondiente.

Grupos de ventanas.

Los grupos de ventanas pueden crearse para facilitar su uso cuando se encuentre planificando diferentes trabajos. Si un trabajo debe ejecutarse durante diferentes periodos de tiempo a lo largo del día, de la semana, del mes, etc.… puede crear una ventana de tiempo por cada periodo y luego añadir esas ventanas a un grupo de ventanas. Después puede establecer el horario de ese trabajo a ese grupo de ventanas y el trabajo se ejecutara durante todos los periodos de tiempo definidos en el grupo de ventanas.

Guía del usuario de PL/SQL Developer 9.0

74

Clases de trabajos.

Las clases de trabajos le proporcionan una forma de asignar el mismo conjunto de atributos a los diferentes trabajos. Puede conceder privilegios de ejecución a otros usuarios o roles que necesiten utilizar las clases de trabajos definidas. Para revocar estos privilegios, haga clic con el botón derecho del ratón sobre una clase y seleccione el elemento Eliminar desde el menú contextual.

Programas.

Un programa define la acción o acciones que vamos a ejecutar mediante el Planificador de Tareas. Un programa incluye una acción, como la llamada a un procedimiento almacenado, el nombre de un archivo ejecutable que se encuentre dentro del sistema de ficheros del sistema operativo o el texto del código dentro de un bloque de PL/SQL. Un programa es una entidad dentro de un trabajo. Un trabajo se ejecuta cada cierto tiempo o porque se ha disparado un evento determinado invocando un programa. Los trabajos son creados de manera que apunten a un programa, lo que significa que diferentes trabajos pueden usar el mismo programa y ejecutar el programa a diferentes horas y con configuraciones diferentes. Con los privilegios adecuados, diferentes usuarios pueden utilizar el mismo programa sin tener que redefinirlo ni cambiarlo. Esto le permite crear librerías de programas, donde los usuarios pueden seleccionar los programas que necesiten ejecutar.

Guía del usuario de PL/SQL Developer 9.0

75

Trabajos.

Los trabajos asocian un programa con un horario y son el principal objeto con el que se trabaja dentro del Planificador de Tareas. Puede crear varios trabajos que apunten al mismo programa pero que se ejecutan en tramos horarios diferentes. Puede omitir los valores por defecto de los argumentos del programa, por lo que varios pueden apuntar al mismo programa pero proporcionar diferentes argumentos. Puede introducir de manera individual las propiedades para un trabajo, horario personalizado, o puede seleccionar un horario ya existente para un trabajo. Todas las propiedades de un horario se mostrarán en cursiva, indicando que se refieren al horario seleccionado. Si omite una o mas propiedades de un horario, el horario se borrara indicándole que tiene un horario personalizado. Esto capacidad de PL/SQL Developer le permite utilizar un calendario ya existente como si fuese una plantilla. Para autorizar Alter privileges a otros usuarios y roles, vaya a la pestaña Privilegios. Para revocar un privilegio, haga clic con el botón derecho del ratón y seleccione el elemento Eliminar desde el menú contextual. Puede ver los detalles y los logs de los trabajos finalizados en la pestaña correspondiente en la parte inferior de la ventana.

10.1

Crear objetos.

Guía del usuario de PL/SQL Developer 9.0

76

Para crear un nuevo objeto, haga clic con el botón derecho del ratón sobre la carpeta correspondiente y seleccione el elemento Nuevo desde el menú contextual. Podrá introducir las propiedades e información detallada sobre el nuevo objeto en la parte derecha de la pantalla. Cuando haya finalizado, presione el botón Aplicar para crear los objetos en la base de datos. Para ver el código SQL del objeto creado, presione el botón Ver SQL. Si desea cancelar la creación de un nuevo objeto simplemente presione el botón Cancelar.

10.2

Editar objetos.

Para editar un objeto ya existente, seleccione el objeto en la carpeta correspondiente, en la parte izquierda de la pantalla y edite las propiedades y la información detallada en la parte derecha de la pantalla. Cuando haya finalizado, presione el botón Aplicar para modificar el objeto en la base de datos. Para ver el código SQL del objeto editado, presione el botón Ver SQL. Si desea cancelar la edición de un objeto simplemente presione el botón Cancelar.

10.3

Borrar objetos.

Para borrar un objeto existente, seleccione el objeto en la carpeta correspondiente, en la parte izquierda de la pantalla y seleccione el elemento Eliminar desde el menú contextual. PL/SQL Developer le pedirá que confirme la eliminación del objeto seleccionado y posteriormente lo borrara permanentemente de la base de datos.

10.4

Ver información sobre los trabajos finalizados.

Para ver información relativa a los trabajos que han finalizado su ejecución puede abrir la carpeta Trabajos finalizados. Desde aquí podrá ver una serie de informes predeterminados, como Todos, Fallidos, etc.… Haga clic sobre un informe para ver los detalles del trabajo finalizado:

Los trabajos pueden ser ordenados si hace clic sobre el botón ordenar que se encuentra en la cabecera de las diferentes columnas. Recuerde que puede organizar las diferentes columnas del informe arrastrando y soltando la cabecera de las mismas. Para copiar la información sobre los diferentes trabajos, seleccione la fila, la columna o las celdas que le interesen, haga clic con el botón derecho del ratón y seleccione el elemento “Copiar valore separados por comas” o “Copiar valores separados por tabulados” desde el menú contextual. Si no selecciona ningún rango de columnas o celdas, PL/SQL Developer copiará el informe entero. Puede refrescar la información del informe si presiona el botón Refrescar situado en la parte inferior de la pantalla.

Guía del usuario de PL/SQL Developer 9.0

77

Crear informes personalizados. Para crear un informe personalizado, haga clic con el botón derecho del ratón sobre la carpeta Trabajos finalizados y seleccione el elemento Nuevo desde el menú contextual. PL/SQL Developer le mostrará la siguiente ventana:

En la parte superior puede introducir un nombre para el nuevo informe. En la sección inferior de la ventana, puede definir como se van a consultar los datos de la vista sys.all_scheduler_job_run_details para el informe. Para más información sobre esta vista puede consultar el manual Oracle Database Reference Guide. La lista de selección situada en la parte derecha de la pantalla le permite seleccionar de una forma rápida y clara los campos que formarán parte del informe. La pestaña Lista de campos le permite definir los campos que se mostrarán en el informe. Puede utilizar el carácter * para indicar que desea incluir todos los campos en el informe. La pestaña Clausula Where le permite definir que trabajos se mostrarán en el informe. Por ejemplo para crear un informe que muestre todos los trabajos que se han ejecutado correctamente desde la fecha actual, utilice una clausula where como la que se muestra a continuación: log_date >= trunc(sysdate) and status = 'SUCCEEDED' La pestaña Clausula Order by le permite definir la lista de campos mediantes los cuales se ordenará el informe. La pestaña Condiciones le permite definir el color con el que se mostrará el trabajo una vez finalizado, si cumple una determinada condición:

La condición puede ser cualquier expresión SQL valida. Puede seleccionar tanto el color del texto como el color de fondo.

Guía del usuario de PL/SQL Developer 9.0

Para borrar o editar un informe, haga clic con el botón derecho del ratón sobre el informe deseado y seleccione el elemento correspondiente desde el menú contextual.

10.5

Ver información sobre los trabajos en ejecución.

Para ver información relativa a los trabajos que se encuentran en ejecución, haga clic sobre la carpeta Trabajos en ejecución. PL/SQL Developer le mostrará toda la información relativa a los trabajos que actualmente se encuentran en ejecución en la parte derecha de la pantalla.

78

Guía del usuario de PL/SQL Developer 9.0

79

11. Diagramas. La ventana de diagramas le permite crear una representación gráfica de una selección de objetos. De esta forma puede visualizar fácilmente todos los objetos de la base de datos, o una parte, utilizados en su aplicación o proyecto y sus relaciones:

Puede añadir automáticamente todos los tipos de objetos relevantes de su aplicación a un diagrama, e incluir las relaciones entre ellos. Las claves foráneas y las dependencias entre tablas se incluyen de forma automática. Para grandes diagramas puede añadir estructuras adicionales mediante grupos de objetos. Puede utilizar los diagramas con motivo de documentación, pero también pueden servir como un espacio de trabajo. Si hace clic con el botón derecho del ratón sobre un objeto aparecerá un menú contextual que le permitirá acceder a todas las funciones de dicho objeto, y si hace doble clic sobre un objeto se ejecutará la acción por defecto para el tipo de objeto.

11.1

Crear un diagrama.

Para crear un nuevo diagrama, seleccione Ventana de Diagrama desde el submenú Nuevo en el menú Archivo. Aparecerá una ventana vacía de diagrama. Para añadir un objeto de la base de datos al diagrama, arrástrelo desde el Explorador de Objetos a la ventana de diagramas. Puede arrastrar y soltar varios objetos a la vez. Para mover un objeto del diagrama, haga clic sobre la barra de título y arrástrelo a una nueva posición, para ampliar o disminuir el tamaño arrastre el borde o una esquina del objeto. Para borrar un objeto del diagrama, presione la X situada en la parte superior derecha del objeto. Esto sólo afectará al diagrama; los objetos de la base de datos no serán eliminados.

Mostrar y ocultar elementos en un diagrama. Para mostrar u ocultar un objeto concreto del diagrama, haga clic con el botón derecho del ratón en él y vaya al submenú Elementos. Aquí podrá ver un nuevo submenú con todos los elementos del objeto seleccionados. Para una tabla puede seleccionar que elementos de una columna, clave o índice desea mostrar. También puede ocultar la clave o el índice completamente.

Guía del usuario de PL/SQL Developer 9.0

80

También puede hacer clic con el botón derecho del ratón sobre un grupo de objetos o sobre el diagrama para mostrar u ocultar los elementos de los objetos dentro de un grupo de objetos o todos los objetos en el diagrama. Por defecto, se mostrarán todos los elementos, pero si hace clic con el botón derecho del ratón y selecciona Establecer por defecto todos los elementos visibles, se mostraran la próxima vez que arrastre el objeto a un diagrama. Puede hacer esto para todos los tipos de objetos.

Ordenar elementos. Puede ordenar todos los elementos de un grupo del diagrama si hace clic con el botón derecho del ratón sobre el grupo y selecciona los elementos de menú Ordenar por orden de creación o Ordenar alfabéticamente desde el submenú Elementos. También puede arrastrar y soltar un elemento para ubicarlo en una posición diferente.

Añadir relaciones. Para añadir una relación entre dos objetos, haga clic sobre el icono de un elemento del objeto y arrástrelo hacia el elemento que desea relacionar. PL/SQL Developer dibujará una línea entre los elementos de los objetos. Puede mover la línea hacia otro elemento si la selecciona y mueve la selección hacia arriba o hacia abajo. Para eliminar una línea, selecciónela y presione la tecla Supr. Si añade una tabla al diagrama, las claves foráneas con las otras tablas del diagrama se incluirán de manera automática. Esas relaciones pueden borrarse si fuese necesario. Si un objeto referencia a otro objeto o es referenciado por otros objetos, puede hacer clic con el botón derecho sobre el objeto References Link desde el menú contextual. Aquí podrá seleccionar que referencias desea incluir en el diagrama. Por ejemplo, si hace clic con el botón derecho sobre el paquete employee y selecciona References Link, podrá ver que referencia a las tablas DEPT y EMP:

Por defecto las relaciones se dibujarán mediante líneas rectas. Puede añadir puntos de unión adicionales si hace clic con el botón derecho del ratón en una línea y selecciona Insertar unión desde el menú contextual. Otra forma, puede ser presionando la tecla Ctrl mientras hace clic en una línea. Como resultado de esta acción se añadirá un nuevo punto de selección. Para crear una relación de uno a muchos, haga clic con el botón derecho del ratón y seleccione el elemento Cambiar final de la línea desde el menú contextual. Desde aquí podrá crear relaciones de uno a muchos, relaciones opcionales, etc. Para cambiar el color, el tamaño y la etiqueta de una línea, haga clic con el botón derecho sobre la línea deseada y selecciona el elemento Propiedades del menú contextual:

Guía del usuario de PL/SQL Developer 9.0

81

Si desplaza los objetos contenidos dentro del diagrama, las etiquetas asociadas a las diferentes líneas también se desplazarán.

Añadir grupos. Para organizar un diagrama grande, puede crear grupos de objetos. Los grupos de objetos pueden tener colores distintos y un titulo situado en la parte superior o inferior, en la izquierda o derecha:

Para añadir un grupo, haga clic con el botón derecho del ratón en una zona vacía del diagrama y seleccione Nuevo grupo en el menú contextual. Aparecerá un nuevo grupo en dicha zona, en el cual podrá ajustar el tamaño a las dimensiones apropiadas. Todos los objetos que queden cubiertos completamente por el grupo formaran parte del mismo, si mueve el grupo también moverá los objetos que agrupa. Si presiona la tecla Ctrl. mientas mueve un grupo, los objetos agrupados no se moverán.

Guía del usuario de PL/SQL Developer 9.0

82

Para cambiar la apariencia de un grupo, haga clic con el botón derecho del ratón y seleccione el elemento Propiedades del menú contextual. También puede hacer doble clic sobre el grupo. Aparecerá la siguiente pantalla:

Puede cambiar la fuente, el color de relleno, el color y el tamaño de la línea, hacer el grupo transparente y hacer que el grupo se redimensione automáticamente en función del tamaño del texto. Puede, de manera opcional, introducir el título del grupo y la situación del mismo. Si los grupos creados se solapan , puede hacer clic con el botón derecho del ratón sobre el grupo y seleccionar Enviar al frente o Enviar atrás desde el menú contextual. Para crear una apariencia por defecto para el grupo, haga clic con el botón derecho del ratón y seleccione Establecer por defecto. Esto se aplicará a los grupos que se añadan al diagrama en el futuro.

Añadir notas. Para añadir notas de texto a un diagrama, haciendo clic con el botón derecho del ratón en la ubicación deseada y seleccionando la opción Nueva nota del menú contextual:

Como puede comprobar las propiedades de una nota son las mismas que las propiedades de un grupo pero con diferentes valores. Puede crear una estilo predeterminada para las notas si hace clic con el botón derecho del ratón y selecciona la opción Establecer por defecto del menú contextual. De esta forma se aplicará por defecto el estilo seleccionado a las nuevas notas que cree en el diagrama. Alinear elementos. Puede alinear rápidamente un elemento de un diagrama si hace clic con el botón derecho del ratón y selecciona la opción Alinear a la rejilla desde el menú contextual. De esta forma colocará el elemento seleccionado en una rejilla de 8 píxeles. Para alinear todos los elementos de un diagrama puede hace

Guía del usuario de PL/SQL Developer 9.0

83

clic con el botón derecho del ratón y selecciona la opción Alinear todos a la rejilla desde el menú contextual o presionar el botón correspondiente en la barra de herramientas de la Ventana de Diagramas.

11.2

Zoom.

Para hacer zoom sobre un diagrama, haga clic con el botón derecho del ratón y seleccione la opción Zoom desde el menú contextual o presione el botón correspondiente en la barra de herramientas de la Ventana de Diagramas. Puede hacer aumentar el diagrama un 150% o un 200% y reducirlo desde un 90% a un 10%.

11.3

Guardar y abrir un diagrama.

Para guardar un diagrama en un archivo, seleccione el elemento Guardar desde el menú Archivo. El diagrama se guardara con la extensión .pdd, que podrá volver abrir más tarde. Para definir una localización estándar para los diagramas, vaya a la página Directorios de las preferencias del programa y establezca la opción correspondiente.

11.4

Actualizar un diagrama.

Un diagrama es una representación estática de la base de datos. Si los objetos de la base de datos cambian a lo largo del tiempo, tendrá que actualizar el diagrama para reflejar esos cambios. Para hacerlo, haga clic con el botón derecho del ratón sobre el diagrama y seleccione Actualizar desde la base de datos en el menú contextual. Para actualizar todos los objetos de un diagrama, haga clic con el botón derecho del ratón y seleccione Actualizar todo desde la base de datos o presione el botón correspondiente en la barra de herramientas de la Ventana de Diagramas. Si borra un objeto de la base de datos, debe borrarlo también del diagrama. Si cambia el nombre de un objeto de la base de datos, tendrá que borrar el objeto del diagrama y añadirlo con el nuevo nombre.

11.5

Imprimir un diagrama.

Para imprimir un diagrama haga clic sobre el botón Imprimir situado en la barra de herramientas principal. Para imprimir la vista actual puede presionar el botón Vista de impresión en la barra de herramientas de la Ventana de Diagramas. La PL/SQL Developer determinará automáticamente la orientación de la pagina cuando imprima la vista actual. Puede controlar el tamaño de la página utilizando el botón Tamaño de Página en la barra de herramientas de la ventana de Diagrama. Establezca el tamaño a Automático para determinar automáticamente el tamaño apropiado. Establezca esta opción a Manual para controlar el tamaño de la pagina. Si utiliza grandes diagramas, puede disminuir el zoom y mover los diagramas a una ubicación más apropiada o mover los objetos que forman el diagrama de manera que no ocupen varias páginas.

11.6

Exportar un diagrama.

Puede exportar un diagrama a un imagen si hace clic con el botón derecho del ratón sobre el y selecciona Guardar como imagen desde el menú contextual. Seguidamente puede seleccionar el formato (bmp, jpg, wmf o emf). También puede copiar el diagrama a una imagen si hace clic con el botón derecho y selecciona Copiar como imagen desde el menú contextual.

Guía del usuario de PL/SQL Developer 9.0

84

12. Informes. Para ejecutar informes sobre los datos de su aplicación o sobre el diccionario de datos de Oracle, puede utilizar las funciones de PL/SQL Developer. Existen un número de informes estándar, y puede crear sus propios informes fácilmente. Puede guardar los informes personalizados en un archivo, que puede incluir en el menú Reports. De esta forma le será más fácil ejecutar los informes que utilice frecuentemente.

12.1

Informes estándar.

Puede acceder fácilmente a los informes estándar a través del menú Informes. Si, por ejemplo, selecciona el informe Errores de compilación, PL/SQL Developer le preguntará antes de ejecutar el informe por el tipo de objeto, el propietario y el nombre del objeto para el cual quiere mostrar los errores generados durante el proceso de compilación.

Después de introducir los valores adecuados y presionar el botón Aceptar, se mostrará el informe:

El resultado es un documento HTML que se muestra mediante el visor interno de PL/SQL Developer, o mediante el control ActiveX de Microsoft Internet Explorer, dependiendo de como se encuentre configurada la opción correspondiente en la ventana de preferencias. Posteriormente puede imprimir el informe si presiona el botón Imprimir situado en la barra de herramientas, o guardar el informe en formato HTML presionando el botón Guardar resultados, que se encuentra situado en la parte derecha de la Ventana de informes. El botón Copiar como HTML copia el resultado del informe al portapapeles. El botón Exportar resultados le permite exportar los resultados en formato CSV, TSV o XML, o exportarlos directamente a Excel. El botón Editar informe le permite acceder a la definición del informe, si este no esta bloqueado. Puede hacer clic con el botón derecho del ratón para opciones adicionales.

Guía del usuario de PL/SQL Developer 9.0

12.2

85

Informes personalizados.

Los informes personalizados son fáciles de crear. Primero cree un nuevo informe en blanco, presionando el botón Nuevo, situado en la barra de herramientas y seleccione el elemento Ventana de informes en el menú contextual. Aparecerá una ventana vacía del editor de informes.

En el editor puede teclear la consulta SQL que desee utilizar en su informe. Para un informe de tipo maestro/detalle puede utilizar una consulta de unión (se explicará más adelante). Comencemos con la simple, pero bien conocida, tabla emp tecleando la consulta y presionando el botón Ejecutar situado en la barra de herramientas:

Este es un informe muy básico, que sólo utiliza las propiedades por defecto. Los siguientes capítulos describen como puede mejorar la funcionalidad de los informes.

12.3

Variables.

Guía del usuario de PL/SQL Developer 9.0

86

A menudo sus informes necesitarán algún tipo de información adicional para poder ejecutarse. Supongamos que necesita restringir el informe anterior a los empleados de un departamento. En este caso necesitará una variable de sustitución en el texto de la consulta: select * from emp where deptno = &department order by ename

Cuando ejecute el informe, se le preguntará al usuario el departamento antes de ejecutar la consulta. Esto, por supuesto, no está exento de errores. ¿Que ocurre si el usuario no introduce ningún valor? La consulta lanzará la excepción ORA-00936: missing expresión. Para prevenir este tipo de situaciones, puede utilizar las opciones que se describen en las secciones siguientes. Dichas opciones deben especificarse entre corchetes, de la misma forma que los atributos que forman un documento HTML o XML.

La opción “Name”. El nombre de una variable se utiliza a modo indicación en el formulario de entrada de las variables. Por lo tanto debe asegurarse de que el nombre que utilice para las variables describe el significado de la variable. La opción name es la única que no necesita especificar entre corchetes. Si el nombre contiene espacios u otros caracteres especiales, debe ir encerrado entre comillas dobles. Los dos ejemplos siguientes son iguales: select * from emp where deptno = &”Department number” order by ename

y select * from emp where deptno = & order by ename

La opción “Hint”. Además de la opción name, puede especificar de manera adicional un texto como sugerencia. El valor almacenado se mostrará en la barra de estado del formulario de entrada de las variables cuando la variable tenga el foco de la aplicación en ese momento: select * from emp where deptno = & order by ename

La opción “Type”. La opción type restringe la información que puede introducir el usuario, y controla como se deben introducir los valores en el texto SQL resultante: select * from emp where deptno = & order by ename

Guía del usuario de PL/SQL Developer 9.0

87

En esta situación el usuario sólo puede introducir valores de tipo integer que sean validos. El valor introducido se reemplazará en el texto de la consulta. Además para cadenas de texto, requiere que el valor se encierre entre comillas. Considere la siguiente consulta de selección: select * from emp where ename = &

Si introduce el texto SCOTT (sin comillas) en el formulario de entrada de variables, el texto SQL resultante será: select * from emp where ename = ‘SCOTT’

Los tipos de datos validos son: none, string, integer, float y date. PL/SQL Developer no realizará ningún tipo de validación sobre los valores de tipo date, con lo que de forma adicional puede proporcionar expresiones como sysdate, trunc (sysdate, ‘MM’), etc.

La opción “Required”. Si necesita un valor para una determinada variable, establezca la opción required a “yes” o “true”: select * from emp where deptno = & order by ename

Ahora sólo podrá ejecutar el informe si ha especificado un valor para el número de departamento.

La opción “Default”. Para presentar un valor por defecto a una variable, especifique la opción default: select * from emp where deptno = & order by ename

El valor por defecto puede ser una consulta de selección. Esta consulta debe devolver sólo un valor con una columna. Por ejemplo: select * from emp where deptno = & order by ename

En este caso el valor por defecto será el número de departamento más bajo.

La opción “Ifempty”. Como alternativa a especificar una variable como required o a establecer un valor por defecto para la misma, puede especificar el valor ifempty en caso de que el usuario no especifique ningún valor:

Guía del usuario de PL/SQL Developer 9.0

select * from emp where ename like &

Si el usuario no especifica un valor, el símbolo del porcentaje será utilizado, y todos los empleados serán recuperados. Esta opción no puede especificarse con la opción required.

La opción “Uppercase”. Si tiene una variable de tipo string y desea convertir de forma implícita su valor a mayúsculas, establezca la opción uppercase a “yes” o “true”: select * from emp where ename = &

El valor se mostrará tal cual lo ha tecleado pero convertido a mayúsculas en el texto SQL resultante.

La opción “Readonly”. Una variable puede definirse como sólo lectura si especifica la opción readonly a “yes”. El usuario puede ver la variable y su valor pero no puede modificarlo.

La opción “Hidden”. Puede ocultar una variable si especifica la opción hidden =”yes”.

La opción “List”. La opción list le proporciona al usuario una lista con posibles valores. Puede especificar la lista de elementos separándolos mediante comas: select * from emp where deptno = & order by ename

Esto le permite al usuario seleccionar uno de los cuatro elementos de la lista, o teclear un valor diferente. En este caso es mejor utilizar una consulta de selección: select * from emp where deptno = & order by ename

De forma adicional puede proveer una descripción para cada elemento:

88

Guía del usuario de PL/SQL Developer 9.0

89

select * from emp where deptno = & order by ename

A cada elemento le sigue ahora su descripción, y se añade la opción description. La lista sólo mostrará las descripciones, pero el valor del elemento seleccionado será el utilizado en el texto SQL resultante: También puede conseguir el mismo efecto con una consulta de selección de 2 campos: select * from emp where deptno = & order by ename

Para restringir al usuario a que sólo pueda seleccionar los elementos de la lista, especifique la opción restricted: select * from emp where deptno = & order by ename

Ahora el usuario sólo puede seleccionar los valores de la lista y no puede introducir ningún otro valor manualmente. Los elementos de una lista pueden depender en ocasiones de los valores de otras variables. Imagine que quiere crear un informe que muestre todas las columnas para una tabla específica. La tabla se identifica mediante el propietario y el nombre. Para el propietario puede utilizar una lista con todos los usuarios de la base de datos. Para el nombre de la tabla puede consultar la vista all_tables para el usuario seleccionado: select * from all_tab_columns where owner = & and table_name = & order by column_id

Como puede ver, la consulta de selección para la segunda lista (table), se refiere a la primera variable a través de la variable de acoplamiento :owner. Cada vez que el valor de la variable owner cambie, se rellenarán los elementos de la lista de las tablas.

Guía del usuario de PL/SQL Developer 9.0

90

Observe que el nombre de una variable de acoplamiento no puede superar 30 caracteres y no puede contener espacios en blanco ni otros caracteres especiales. Los espacios en blanco en una variable se convertirán en guiones de subrayado. Si el nombre de la variable hubiese sido Owner of the table, entonces el nombre de la variable de acoplamiento hubiese sido: owner_of_the_table. Observe también que si el valor de una variable está en blanco, la lista dependiente también estará en blanco. No se ejecutará ninguna consulta en esta situación.

La opción “Checkbox”. Si un usuario quiere seleccionar una de dos posibilidades distintas, puede utilizar la opción checkbox. Esta opción necesita ser seguida de valores para las opciones checked y unchecked. select * from emp order by hiredate &

Aunque siempre necesita especificar 2 valores, uno de ellos puede estar vacío: select * from emp order by hiredate &

Ya que el orden por defecto es ascendente, estos 2 ejemplos son equivalentes.

Opciones de prefijo y sufijo. Si el valor de la variable está vacío, puede implicar que se omitan ciertas porciones del texto SQL. Considere el ejemplo en que quiere proveer una columna opcional de ordenación. Si no especifica una columna, la cláusula order by debería omitirse. En este caso puede especificar este texto como prefix o suffix de la variable. Si el valor de la variable este vacío, el prefijo y el sufijo de la variable se omitirán: select * from emp &