D Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Uso de SQL*Plus.

18
D Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Uso de SQL*Plus

Transcript of D Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Uso de SQL*Plus.

Page 1: D Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Uso de SQL*Plus.

DCopyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.

Uso de SQL*Plus

Page 2: D Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Uso de SQL*Plus.

Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.D - 2

Objetivos

Al finalizar este apéndice, debería estar capacitado para lo siguiente:

• Conectarse a SQL*Plus

• Editar comandos SQL

• Formatear la salida con comandos SQL*Plus

• Interactuar con scripts

Page 3: D Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Uso de SQL*Plus.

Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.D - 3

Interacción de SQL y SQL*Plus

Buffer

Servidor

Sentencias SQL

Resultados de consultas

Scripts SQL

SQL*Plus

Page 4: D Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Uso de SQL*Plus.

Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.D - 4

Sentencias SQL frente a Comandos SQL*Plus

SQL

• Un lenguaje

• Estándar de ANSI

• Las palabras clave no se pueden abreviar.

• Las sentencias manipulandefiniciones de tablas y datos en la base de datos.

SentenciasSQL

BufferSQL

Comandos SQL*Plus

Buffer SQL*Plus

SQL*Plus

• Un entorno

• Propiedad de Oracle

• Las palabras clave se pueden abreviar.

• Los comandos no permiten la manipulación de valores en la base de datos.

Page 5: D Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Uso de SQL*Plus.

Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.D - 5

Visión General de SQL*Plus

• Conectarse a SQL*Plus.

• Describir la estructura de la tabla.

• Editar la sentencia SQL.

• Ejecutar SQL desde SQL*Plus.

• Guardar sentencias SQL en archivos y agregar sentencias SQL a los archivos.

• Ejecutar archivos guardados.

• Cargar comandos del archivo en el buffer para la edición.

Page 6: D Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Uso de SQL*Plus.

Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.D - 6

sqlplus [username[/password[@database]]]

Conexión a SQL*Plus

1

2

Page 7: D Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Uso de SQL*Plus.

Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.D - 7

Visualización de la Estructura de la Tabla

Utilizar el comando SQL*Plus DESCRIBE para mostrar la estructura de una tabla:

DESC[RIBE] tablename

Page 8: D Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Uso de SQL*Plus.

Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.D - 8

Visualización de la Estructura de la Tabla

Name Null? Type----------------------- -------- ------------DEPARTMENT_ID NOT NULL NUMBER(4)DEPARTMENT_NAME NOT NULL VARCHAR2(30)MANAGER_ID NUMBER(6)LOCATION_ID NUMBER(4)

DESCRIBE departments

Page 9: D Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Uso de SQL*Plus.

Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.D - 9

Comandos de Edición SQL*Plus

• A[PPEND] text• C[HANGE] / old / new• C[HANGE] / text /• CL[EAR] BUFF[ER]• DEL• DEL n• DEL m n

Page 10: D Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Uso de SQL*Plus.

Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.D - 10

Comandos de Edición SQL*Plus

• I[NPUT]• I[NPUT] text• L[IST]• L[IST] n• L[IST] m n • R[UN]• n• n text• 0 text

Page 11: D Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Uso de SQL*Plus.

Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.D - 11

Uso de LIST, n y APPEND

LIST 1 SELECT last_name 2* FROM employees

1 1* SELECT last_name

A , job_id 1* SELECT last_name, job_id

LIST 1 SELECT last_name, job_id 2* FROM employees

Page 12: D Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Uso de SQL*Plus.

Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.D - 12

Uso del Comando CHANGE

LIST 1* SELECT * from employees

c/employees/departments 1* SELECT * from departments

LIST

1* SELECT * from departments

Page 13: D Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Uso de SQL*Plus.

Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.D - 13

Comandos de Archivos SQL*Plus

• SAVE filename• GET filename• START filename• @ filename• EDIT filename• SPOOL filename• EXIT

Page 14: D Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Uso de SQL*Plus.

Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.D - 14

Uso de los Comandos SAVE, START

LIST 1 SELECT last_name, manager_id, department_id 2* FROM employees

SAVE my_query Created file my_query

START my_query

LAST_NAME MANAGER_ID DEPARTMENT_ID------------------------- ---------- -------------King 90Kochhar 100 90...107 rows selected.

Page 15: D Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Uso de SQL*Plus.

Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.D - 15

Comando SERVEROUTPUT

• Utilizar el comando SET SERVEROUT[PUT] para controlar si se debe mostrar la salida de los procedimientos almacenados o bloques PL/SQL en SQL*Plus.

• El límite de longitud de la línea DBMS_OUTPUT ha aumentado de 255 a 32767 bytes.

• El tamaño por defecto es ahora ilimitado.

• Los recursos no se asignan previamente si se define SERVEROUTPUT.

• Ya que no afecta al rendimiento, utilice UNLIMITED a menos que desee conservar la memoria física.

SET SERVEROUT[PUT] {ON | OFF} [SIZE {n | UNL[IMITED]}] [FOR[MAT] {WRA[PPED] | WOR[D_WRAPPED] | TRU[NCATED]}]

Page 16: D Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Uso de SQL*Plus.

Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.D - 16

Uso del Comando SQL*Plus SPOOL

SPO[OL] [file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]] | OFF | OUT]

Opción Descripción

file_name[.ext] Envía la salida al nombre de archivo especificado.

CRE[ATE] Crea un nuevo archivo con el nombre especificado.

REP[LACE] Sustituye el contenido de un archivo existente. Si el archivo no existe, REPLACE crea el archivo.

APP[END] Agrega el contenido del buffer al final del archivo especificado.

OFF Para el envío de resultados.

OUT Para el envío de datos y envía el archivo a la impresora estándar (por defecto) de la computadora.

Page 17: D Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Uso de SQL*Plus.

Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.D - 17

Uso del Comando AUTOTRACE

• Muestra un informe después de la ejecución correcta de sentencias DML de SQL, como SELECT, INSERT, UPDATE o DELETE.

• El informe puede incluir ahora estadísticas de ejecución y la ruta de acceso de ejecución de la consulta.

SET AUTOT[RACE] {ON | OFF | TRACE[ONLY]} [EXP[LAIN]] [STAT[ISTICS]]

SET AUTOTRACE ON-- The AUTOTRACE report includes both the optimizer-- execution path and the SQL statement execution -- statistics

Page 18: D Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados. Uso de SQL*Plus.

Copyright © 2010, Oracle y/o sus filiales. Todos los derechos reservados.D - 18

Resumen

En este apéndice, debe haber aprendido cómo utilizar SQL*Plus como un entorno para realizar las siguientes acciones:

• Ejecutar sentencias SQL

• Editar sentencias SQL

• Formatear la salida

• Interactuar con scripts