Está en la página 1de 34

9

Creando y manejando tablas

Copyright © Oracle Corporation, 2001. All rights reserved.

Schedule: Timing Topic


30 minutes Lecture
20 minutes Practice
50 minutes Total
Objectives

After completing this lesson, you should be able to


do the following:
• Describe the main database objects
• Create tables
• Describe the data types that can be used when
specifying column definition
• Alter table definitions
• Drop, rename, and truncate tables

9-2 Copyright © Oracle Corporation, 2001. All rights reserved.

Lesson Aim
In this lesson, you learn about tables, the main database objects, and their relationships to each other.
You also learn how to create, alter, and drop tables.

Introduction to Oracle9i: SQL 9-2


Database Objects

Object Description
Table Unidad basica del almacenamiento ;
compuesta por filas y columnas

View presentacion logica de subconsultas de una


o mas tablas

Sequence Generador de secuencias numericas


Index indice generado parea mejorar el rendimiento
Synonym de alternativas para nombrar ciertos objetos

9-3 Copyright © Oracle Corporation, 2001. All rights reserved.

Objetos de base de datos


Una base de datos Oracle puede contener varias estructuras de datos. Cada estructura deberá resumirse en el diseño de la base de
datos de manera que se puede crear durante la etapa de construcción de desarrollo de base de datos.
Tabla:Almacena datos
Vista: subconjunto de datos de una o más tablas
Secuencia: generador de valor numérico
Índice: Mejora el rendimiento de algunas consultas
Sinónimo: Da nombres alternativos a los objetos

Estructuras de tabla Oracle9i

Las tablas se pueden crear en cualquier momento, incluso mientras los usuarios están utilizando la base de datos.
No es necesario especificar el tamaño de cualquier tablas. El tamaño se define en última instancia, por la cantidad de espacio
asignado a la base de datos en su conjunto. Es importante, sin embargo, para estimar la cantidad de espacio una mesa utilizará con
el tiempo.
Estructura de la tabla se puede modificar en línea.

Nota: Más objetos de base están disponibles pero no se cubren en este curso.

Nota para el instructor


Las tablas pueden tener hasta 1.000 columnas y deben ajustarse a las convenciones estándar de denominación de objetos de bases
de datos. ? definiciones de columna pueden omitirse cuando se utiliza la cláusula AS subconsulta. Las tablas se crean sin datos a
menos que se especifique una consulta. Las filas se añaden normalmente mediante el uso de sentencias INSERT.

Introduction to Oracle9i: SQL 9-3


Reglas sobre los nombfres

Nombre de tabla y nombres de columna o campos


• Deben de comenzar con una letra
• Pueden tener una longitud de 1 a 30 caracteres
• Los nombres solo pueden tener los caracteres A–
Z, a–z, 0–9, _, $, and #
• Los nombres de pueden estar duplicados en el
mismo esquema, inclusive si son otros objetos
que tiene ese nombre
• No se puden usar como nombres palabras usadas
en los comandos
• Los nombres de tablas y de campos son grabados
en mayusculas.

9-4 Copyright © Oracle Corporation, 2001. All rights reserved.

Normas de denominación
Tablas de la base Nombre y columnas de acuerdo con las reglas estándar para nombrar cualquier
objeto de base de datos Oracle:
Los nombres de tabla y nombres de columna deben comenzar con una letra y ser 1-30 caracteres.
Los nombres deben contener sólo los caracteres A-Z, a-z, 0-9, _ (guión bajo), $ y # (caracteres legales,
pero su uso no se recomienda).
Los nombres no deben duplicar el nombre de otro objeto propiedad del mismo usuario del servidor
Oracle.
Los nombres no deben ser una palabra reservada servidor Oracle.
Naming Directrices
Utilice nombres descriptivos para las tablas y otros objetos de base de datos.

Introduction to Oracle9i: SQL 9-4


El comando CREATE TABLE

• Los DDL nunca requieren de comandos de


confirmacion:
– ….
– A storage
CREATE area
TABLE [schema.]table
(column datatype [DEFAULT expr][, ...]);

• schema es lo mismo que el usuario


• table es el nombre de la tabla
• DEFAULT expr especifica valores default que contendra el
campo en caso de ser omitido en el comando insert.
• column es el nombre de la columna
datatype es el tipo y tamño de la columna

9-5 Copyright © Oracle Corporation, 2001. All rights reserved.

The CREATE TABLE Statement

Crear tablas para almacenar datos ejecutando el SQL CREATE TABLE. Esta declaración es
una de las declaraciones de lenguaje de definición de datos (DDL), que están cubiertos en las
lecciones posteriores. Sentencias DDL son un subconjunto de sentencias SQL que se utilizan
para crear, modificar o eliminar las estructuras de base de datos Oracle9i. Estas
declaraciones tienen un efecto inmediato en la base de datos, y también grabar información
en el diccionario de datos.
Para crear una tabla, un usuario debe tener el privilegio CREATE TABLE y un área de
almacenamiento en el que crear objetos. El administrador de bases de datos utiliza el
lenguaje (DCL) Sentencias de control de datos, que están cubiertos en una lección posterior,
para otorgar privilegios a los usuarios.
En la sintaxis:

schema es lo mismo que el usuario


table es el nombre de la tabla
DEFAULT expr especifica valores default que contendra el campo en caso de ser
omitido en el comando insert.
column es el nombre de la columna

Introduction to Oracle9i: SQL 9-5


datatype es el tipo y tamño de la columna

Introduction to Oracle9i: SQL 9-‹Nº›


El comando CREATE TABLE

• Para poder crear tablas, el usuario debe de tener


el permiso correspondiente:
– CREATE TABLE privilege
– A storage
CREATE area
TABLE [schema.]table
(column datatype [DEFAULT expr][, ...]);

• Debe de especificar:
– Nombre de la tabla
– Nombre de columna, tipo de columna, and tamaño
de la columna

9-6 Copyright © Oracle Corporation, 2001. All rights reserved.

The CREATE TABLE Statement


Crear tablas para almacenar datos ejecutando el SQL CREATE TABLE. Esta declaración es
una de las declaraciones de lenguaje de definición de datos (DDL), que están cubiertos en las
lecciones posteriores. Sentencias DDL son un subconjunto de sentencias SQL que se utilizan
para crear, modificar o eliminar las estructuras de base de datos Oracle9i. Estas
declaraciones tienen un efecto inmediato en la base de datos, y también grabar información
en el diccionario de datos.
Para crear una tabla, un usuario debe tener el privilegio CREATE TABLE y un área de
almacenamiento en el que crear objetos. El administrador de bases de datos utiliza el
lenguaje (DCL) Sentencias de control de datos, que están cubiertos en una lección posterior,
para otorgar privilegios a los usuarios.
In the syntax:
schema es lo mismo que el usuario
table es el nombre de la tabla
DEFAULT expr especifica valores default que contendra el campo en caso de ser
omitido en el comando insert.
column es el nombre de la columna
datatype es el tipo y tamño de la columna

Introduction to Oracle9i: SQL 9-6


Referenciando tablas de otros usuarios

• Para poder tablas que le pertenecen a otro usuario


( esquema) deben de llamarse o nombrarse
anteponiendo el usuario y luego punto y luego el
nombre de la tabla.

SELECT *
FROM user_b.employees;

La tabla employees que esta en el esq uema


del usuario user_b

9-7 Copyright © Oracle Corporation, 2001. All rights reserved.

Referencing Another User’s Tables


Un esquema es una colección de objetos. Los objetos de esquema son las estructuras lógicas que se
refieren directamente a los datos en una base de datos. Los objetos de esquema incluyen tablas, vistas,
sinónimos, secuencias, procedimientos almacenados, índices, clusters, y enlaces de bases de datos.
Si una tabla no pertenece al usuario, el nombre del dueño debe llevar el prefijo de la tabla. Por ejemplo, si
hay un esquema denominado USER_B y USER_B tiene una tabla EMPLEADOS, a continuación,
especifique lo siguiente para recuperar datos de dicho cuadro:

SELECT *
FROM user_b.employees;

Introduction to Oracle9i: SQL 9-7


Creating Tables

• Creando tablas
CREATE TABLE dept
(deptno NUMBER(2),
dname VARCHAR2(14),
loc VARCHAR2(13));
:Table created.
• Confirmando la creacion
DESCRIBE dept

9-8 Copyright © Oracle Corporation, 2001. All rights reserved.

Creating Tables
El ejemplo de la diapositiva crea la tabla DEPT, con tres columnas: DEPTNO, DNAME y LOC. Se
confirma una vez más la creación de la tabla con el comando DESCRIBE.
Desde la creación de una mesa es una sentencia DDL, un commit automática tiene lugar cuando se
ejecute esta sentencia.

Instructor Note
Explique que la sintaxis adicional para CREATE TABLE podría incluir restricciones y así
sucesivamente. Para obtener más información sobre la sintaxis CREATE TABLE, consulte: Oracle9i

Introduction to Oracle9i: SQL 9-8


SQL, "CREATE TABLE. "

Introduction to Oracle9i: SQL 9-‹Nº›


Tables in the Oracle Database

• Tablas de usuarios:
– son una coleccion de objetos y tablas destinados a
dar mantenimiento a las tablas y objetos creados
por el usuario
– Contienen la informacion del usuario
• Diccionario de datos:
– Contiene una coleccion de objetos y tablas para dar
mantenimiento a todas las tablas y objetos de la
base de datos
– Contiene informacion de la base de datos.

9-9 Copyright © Oracle Corporation, 2001. All rights reserved.

Tables in the Oracle Database


Tablas de usuario son tablas creadas por el usuario, como los empleados. Hay otra colección de tablas
y vistas de la base de datos Oracle conocido como el diccionario de datos. Esta colección es creado y
mantenido por el servidor Oracle y contiene información acerca de la base de datos.
Todas las tablas del diccionario de datos son propiedad del usuario SYS. Las tablas de base son
raramente accesibles por el usuario porque la información en ellos no es fácil de entender. Por lo
tanto, los usuarios suelen acceder a los datos vistas del diccionario ya que la información se presenta
en un formato que es fácil de entender. La información almacenada en el diccionario de datos incluye
los nombres de los usuarios del servidor de Oracle, los privilegios concedidos a los usuarios, nombres
de objetos de base de datos, las limitaciones de mesa, y la información de auditoría.
Hay cuatro categorías de vistas del diccionario de datos; cada categoría tiene un prefijo distinto que
refleja su uso previsto.

Prefix Description
USER_ These views contain information about objects owned by the user

ALL_ These views contain information about all of the tables (object tables
and relational tables) accessible to the user.
DBA_ These views are restricted views, which can be accessed only by
people who have been assigned the DBA role.
V$ These views are dynamic performance views, database server
performance, memory, and locking.

Introduction to Oracle9i: SQL 9-9


Usando el diccionario de datos

• Para Ver las tablas creadas por el usuario.


SELECT table_name
FROM user_tables ;

• Para Ver todos los objetos creados por el usuario


SELECT DISTINCT object_type
FROM user_objects ;

• Para Ver tablas, vistas, sinonimos, esquemas y


secuencias creadas por el usuario.
SELECT *
FROM user_catalog ;

9-10 Copyright © Oracle Corporation, 2001. All rights reserved.

Querying the Data Dictionary


Puede consultar las tablas del diccionario de datos para ver diversos objetos de la base de su
propiedad. Las tablas del diccionario de datos que se utilizan con frecuencia son estas:
USER_TABLES
• USER_OBJECTS
• USER_CATALOG

Note: USER_CATALOG tiene un sinónimo llamado CAT. Usted puede usar


este sinónimo lugar de USER_CATALOG en sentencias SQL.
SELECT *
FROM CAT;

Introduction to Oracle9i: SQL 9-10


Data Types
Data Type Description
VARCHAR2(size) datos caracter y su tamaño ( es variable)
CHAR(size) Datos caracter y su tamaño ( es fijo)
NUMBER(p,s) variable numerico ( longitud variable)
DATE valores de fecha y hora
LONG datos caracter mas de 2 gigabytes

CLOB datos caracter mas de 4 gigabytes

RAW and LONG RAW Raw datos binarios


BLOB daros binarios de mas de 4 gigabytes
BFILE datos binarios almacenado internamente
de mas de 4 gigabytes
ROWID es un numeroi de 64 digitos que tiene la
direccion unica para cada registro de cada tabla.

9-11 Copyright © Oracle Corporation, 2001. All rights reserved.

Data Types
Data type Description
VARCHAR2(size) Variable-length character data (a maximum size must be specified:
Minimum size is 1; maximum size is 4000)
CHAR [(size)] Fixed-length character data of length size bytes (default and minimum
size is 1; maximum size is 2000)
NUMBER [(p,s)] Number having precision p and scale s (The precision is the total
number of decimal digits, and the scale is the number of digits to the
right of the decimal point; the precision can range from 1 to 38 and
the scale can range from -84 to 127)
DATE Date and time values to the nearest second between January 1, 4712
B.C., and December 31, 9999 A.D.
LONG Variable-length character data up to 2 gigabytes

CLOB Character data up to 4 gigabytes

Introduction to Oracle9i: SQL 9-11


Creando tablas usando una consulta

• Para crear una tabla e insertarle registros de una ves


de usa el comando CREATE y la opcion AS
consulta.
CREATE TABLE table
[(column, column...)]
AS subquery;

• El numero de columna o campo que tendra esta


nueva tabla sera los mismo que se generen en la
consulta
• Define los campos de la nueva tabla con los
nombres que se le den a los campos en la consulta.

9-12 Copyright © Oracle Corporation, 2001. All rights reserved.

Creating a Table from Rows in Another Table


Un segundo método para crear una tabla es aplicar la cláusula AS subconsulta, que tanto crea la tabla
e inserta filas devueltas por la subconsulta.
En la sintaxis:

table es el nombre de la tabla


column es el nombre de la columna
subquery es la sentencia de consulta que definira las filas ingresadas a la nueva
tabla.
Guidelines
• La tabla se crea con los nombres de columna especificados, y las filas recuperadas por la
sentencia SELECT se inserta en la tabla.
• La definición de la columna puede contener sólo el nombre de la columna y el valor por
defecto.
• Si se dan especificaciones de columna, el número de columnas debe ser igual al número de
columnas en la lista SELECT subconsulta.
• Si no se dan especificaciones de columna, los nombres de las columnas de la tabla son los
mismos que los nombres de columna en la subconsulta.

Introduction to Oracle9i: SQL 9-12


• Las reglas de integridad no se pasan a la nueva tabla, sólo las definiciones de tipo de
datos de columna.

Introduction to Oracle9i: SQL 9-‹Nº›


– table es el nombre de la tabla
– column es el nombre de la columna o campo
– subquery es la consulta y cuyos valores estaran en la
nueva tabla
• Reglas:
• La nueva tabla es creada con los nombres de columnas segun
sean presentados por la consulta ademas los datos que sean
presentados por la consulta seran insertados en la nueva tabla .
• A igual numero de columnas presentes en la consulta le
corresponderan igual numero columnas creadas en la nueva tabla.
• Las restricciones de la consulta no seran pasadas a la nueva
tabla.

9-13 Copyright © Oracle Corporation, 2001. All rights reserved.

Introduction to Oracle9i: SQL 9-13


Creando tablas usando una consulta

CREATE TABLE dept80


AS
SELECT employee_id, last_name,
salary*12 ANNSAL,
hire_date
FROM employees
WHERE department_id = 80;
Table created.
DESCRIBE dept80

9-14 Copyright © Oracle Corporation, 2001. All rights reserved.

Creating a Table from Rows in Another Table (continued)


El ejemplo de la diapositiva crea una tabla denominada DEPT80, que contiene detalles de todos los empleados
que trabajan en el departamento 80. Tenga en cuenta que los datos de la tabla DEPT80 procede de la tabla
EMPLEADOS.
Usted puede verificar la existencia de una tabla de base de datos y comprobar las definiciones de columnas
utilizando el iSQL * Plus comando DESCRIBE.
Asegúrese de dar un alias de columna cuando se selecciona una expresión. El salario expresión * 12 se da la
ANNSAL alias. Sin el alias, se genera este error:
ERROR en la línea 3:
ORA-00998: Debe llamar a esta expresión con un alias de columna

Instructor Note
Para crear una tabla con la misma estructura que una tabla existente, pero sin los datos de la tabla existente,
utilice una subconsulta con una cláusula WHERE que siempre se evalúa como falsa. Por ejemplo:

CREATE TABLE COPY_TABLE AS


(SELECT *
FROM employees
WHERE 1 = 2);

Introduction to Oracle9i: SQL 9-14


En este ejemplo se crea la tabla
copy_table sin datos

CREATE TABLE COPY_TABLE AS


(SELECT *
FROM employees
WHERE 1 = 2);

• Esto debido a que la consulta no traeria datos, por


el filtro realizado.

9-15 Copyright © Oracle Corporation, 2001. All rights reserved.

Introduction to Oracle9i: SQL 9-15


El comando ALTER TABLE

Use el comando ALTER TABLE para:


• Agregar una nueva columna
• Modificar una consulta existente
• Definir valores default para una columna
• Eliminar una columna

9-16 Copyright © Oracle Corporation, 2001. All rights reserved.

The ALTER TABLE Statement


Después de crear una tabla, puede que tenga que cambiar la estructura de la tabla, ya que: se omitiera
una columna, su definición de columna debe ser cambiado, o si necesita quitar columnas. Usted puede
hacer esto mediante el uso de la sentencia ALTER TABLE.

Introduction to Oracle9i: SQL 9-16


The ALTER TABLE Statement

Use el comando ALTER TABLE para agregar,


modificar y eliminar columnas
ALTER TABLE table
ADD (column datatype [DEFAULT expr]
[, column datatype]...);

ALTER TABLE table


MODIFY (column datatype [DEFAULT expr]
[, column datatype]...);

ALTER TABLE table


DROP (column);

9-17 Copyright © Oracle Corporation, 2001. All rights reserved.

The ALTER TABLE Statement (continued)


Puedes añadir, modificar y colocar columnas a una tabla utilizando la sentencia ALTER TABLE.
En la sintaxis:

table Es el nombre de la tabla


ADD|MODIFY|DROP es el tipo de modificacion a realizar
column es el nombre de la nueva columna
datatype es el tipo de dato y tamaño de la nueva columna
DEFAULT expr especifica valores default para la nueva columna
Note: La diapositiva da la sintaxis abreviada para ALTER TABLE. Más acerca de ALTER TABLE
se cubre en una lección posterior.

Instructor Note

Introduction to Oracle9i: SQL 9-17


In Oracle8i and later, there are new options for the ALTER TABLE command, including the
ability to drop a column from a table, which are covered later in this lesson.

Introduction to Oracle9i: SQL 9-‹Nº›


Adding a Column
New column
DEPT80

“Add a new
column to
the DEPT80
table.”

DEPT80

9-18 Copyright © Oracle Corporation, 2001. All rights reserved.

Adding a Column
El gráfico se agrega la columna de la JOB_ID a la mesa DEPT80. Observe que la nueva columna se
convierte en la última columna de la tabla.

Introduction to Oracle9i: SQL 9-18


Adding a Column

• User el camando ADD para egregar columnas.


ALTER TABLE dept80
ADD (job_id VARCHAR2(9));
Table altered.

• La nueva columna siempre es la ultima en colocarse


en la tabla.

9-19 Copyright © Oracle Corporation, 2001. All rights reserved.

Guidelines for Adding a Column


• Usted puede agregar o modificar columnas.
• No se puede especificar que la columna es aparecer. La nueva columna se convierte en la última
columna.
• El ejemplo de la diapositiva añade una columna denominada JOB_ID a la mesa DEPT80. La
columna JOB_ID convierte en la última columna de la tabla.

• Note: Si una tabla ya contiene filas cuando se añade una columna, a continuación, la nueva
columna es inicialmente nulo para todas las filas.

Introduction to Oracle9i: SQL 9-19


Modifying a Column

• Puede cambiar el tipo, tamaño y valores default de


una columna
ALTER TABLE dept80
MODIFY (last_name VARCHAR2(30));
Table altered.

• A change to the default value affects only


subsequent insertions to the table.

9-20 Copyright © Oracle Corporation, 2001. All rights reserved.

Modifying a Column
Puede modificar una definición de columna utilizando la sentencia ALTER TABLE con la cláusula
MODIFY. Modificación columna puede incluir cambios en el tipo de datos de una columna, el
tamaño y el valor por defecto.

Guidelines
• Puede aumentar la anchura o precisión de una columna numérica.
• Puede aumentar el ancho de las columnas numéricas o de caracteres.
• Se puede disminuir el ancho de una columna sólo si la columna contiene valores sólo nulos o si
la tabla tiene ninguna fila.
• Usted puede cambiar el tipo de datos sólo si la columna contiene valores nulos.
• Puede convertir una columna CHAR al tipo de datos VARCHAR2 o convertir una columna
VARCHAR2 al tipo de datos CHAR sólo si la columna contiene valores nulos o si no se cambia
el tamaño.
• Un cambio en el valor predeterminado de una columna sólo afecta a las inserciones posteriores
a la mesa.

Introduction to Oracle9i: SQL 9-20


• Reglas de la Modificacion de Columnas:

– Se pude incrementar la presicion de los valores numericos.


– Puede aumentar el tamaño de las columnas numericas y caracter
– Puede disminuir el tamaño de los campos siempre y cuando en la
tabla estos campos o columnas tengan solo valores nulos o la
tabla no tenga ningun registro
– Usted puede mover el tipo de las columnas que esten con valores
nulos o que la tabla no tenga registros

9-21 Copyright © Oracle Corporation, 2001. All rights reserved.

Introduction to Oracle9i: SQL 9-21


Dropping columnas

Use el comando DROP COLUMN clause para eliminar


de manera definitiva campos o columnas en la
tablas que ya no se necesiten.
ALTER TABLE dept80
DROP COLUMN job_id;
Table altered.

9-22 Copyright © Oracle Corporation, 2001. All rights reserved.

Dropping a Column
Usted puede eliminar una columna de una tabla utilizando la sentencia ALTER TABLE con la
cláusula DROP COLUMN. Esta es una característica disponible en Oracle8i y versiones posteriores.

Guidelines
• La columna puede o no puede contener datos.
• Utilización de la sentencia ALTER TABLE, sólo una columna se puede quitar a la vez.
• La tabla debe tener al menos una columna que queda en él después de que se altera.
• Una vez que se deja caer una columna, no se puede recuperar.

Instructor Note
Cuando una columna se deja caer desde una tabnle, cualquier otra columna de esa tabla que están

Introduction to Oracle9i: SQL 9-22


marcadas con la opción de no utilizadas se eliminan también.

Introduction to Oracle9i: SQL 9-‹Nº›


Dropping tablas

• Toda la estructura y los datos son definitivamente


eliminados.
• Toda transaccion sobre la tabla es terminada.
• Los indices son eliminados
• No hay vuelta atras con el comando DROP TABLE.

DROP TABLE dept80;


Table dropped.

9-23 Copyright © Oracle Corporation, 2001. All rights reserved.

Dropping a Table
La sentencia DROP TABLE elimina la definición de una tabla de Oracle. Cuando se elimina una
tabla, la base de datos pierde todos los datos de la tabla y todos los índices asociados a ella.

Syntax
DROP TABLE table
In the syntax:
table es el nombre de la tabla
Guidelines
• Todos los datos se elimina de la tabla.
• Los pareceres y sinónimos permanecen pero no son válidos.
• Las transacciones pendientes están comprometidos.
• Sólo el creador de la tabla o un usuario con el privilegio DROP ANY tabla puede eliminar

Introduction to Oracle9i: SQL 9-23


una tabla.

Note: La sentencia DROP TABLE, una vez ejecutado, es irreversible. El servidor de Oracle no
cuestiona la acción cuando se emite la sentencia DROP TABLE. Si usted es dueño de esa mesa o
tienen un privilegio de alto nivel, y luego se retira inmediatamente de la mesa. Al igual que con todas
las sentencias DDL, DROP TABLE se ha comprometido de forma automática.

Introduction to Oracle9i: SQL 9-‹Nº›


Cambiando el nombre de objetos

Se pude cambiar el nombre de las tablas, vistas, secuencias y


sinonimos, Para cambiar el nombre de cualquier objeto
deben de estar creados con su usuario, es decir deben de
ser los dueños del objeto.

RENAME dept TO detail_dept;


Table renamed.

RENAME old_name TO new_name;


– old_name es el viejo nombre
– new_name es el nuevo nombre.

9-24 Copyright © Oracle Corporation, 2001. All rights reserved.

Renaming a Table
Sentencias DDL adicionales incluyen la sentencia RENAME, que se utiliza para cambiar el nombre
de una tabla, vista, secuencia, o un sinónimo.

Syntax
RENAME viejo nombre TO nuevo nombre
In the syntax:
old_name es le nombre viejo de la tabla, vista, secuencia, o sinonimo.
new_name es le nombre nuevo de la tabla, vista, secuencia, o sinonimo.

Usted debe ser el propietario del objeto para que pueda cambiar el nombre.

Introduction to Oracle9i: SQL 9-24


Truncando tablas

• El comando TRUNCATE TABLE t:


– Remueve todos los registros de una tabla
– Internamente se reutiliza el espacion liberado.
TRUNCATE TABLE detail_dept;
Table truncated.

• Es difinitivo no hay vuelta atras con este comando


TRUNCATE.
• la alternativa es el comando DELETE

9-25 Copyright © Oracle Corporation, 2001. All rights reserved.

Truncating a Table
Otra declaración DDL es la instrucción TRUNCATE TABLE, que se utiliza para eliminar todas las
filas de una tabla y para liberar el espacio de almacenamiento utilizado por esa tabla. Cuando se
utiliza la instrucción TRUNCATE TABLE, no se puede deshacer la eliminación fila.
Syntax
TRUNCATE TABLE table;
In the syntax:
table es le nombre de la tabla

Usted debe ser el propietario de la tabla o tener privilegios del sistema para truncar o borrar las
tablas.
La sentencia DELETE también puede eliminar todas las filas de una tabla, pero no liberar espacio de

Introduction to Oracle9i: SQL 9-25


almacenamiento. El comando TRUNCATE es más rápido. Extracción de filas con la sentencia
TRUNCATE es más rápido que la eliminación de ellos con la sentencia DELETE por las
siguientes razones:
La sentencia TRUNCATE es una sentencia de lenguaje de definición de datos (DDL) y no
genera información de reversión.
Truncar una tabla no se dispara los disparadores de borrado de la tabla.
Si la tabla es el padre de una restricción de integridad referencial, no se puede truncar la tabla.
Desactive la restricción antes de emitir la sentencia TRUNCATE.

Introduction to Oracle9i: SQL 9-‹Nº›


Agregando comentarios en la tabla

• Para gregar comentaris en la tabla use: COMMENT .


COMMENT ON TABLE employees
IS 'Employee Information';
Comment created.

• Puede ver los comentarios en las siguientes tablas:


– ALL_COL_COMMENTS
– USER_COL_COMMENTS
– ALL_TAB_COMMENTS
– USER_TAB_COMMENTS

9-26 Copyright © Oracle Corporation, 2001. All rights reserved.

Adding a Comment to a Table


Usted puede agregar un comentario de hasta 2.000 bytes sobre una columna, tabla, vista o instantánea
mediante el uso de la sentencia COMMENT. El comentario se almacena en el diccionario de datos y
se puede ver en una de las siguientes vistas de diccionario de datos en la columna de comentarios:

ALL_COL_COMMENTS
• USER_COL_COMMENTS
• ALL_TAB_COMMENTS
• USER_TAB_COMMENTS
Syntax
COMMENT ON TABLE table | COLUMN table.column
IS 'text';
In the syntax:
table es el nombre de la tabla
column es le nombre de la columna
text es el texto del comentario.
Puedes dejar un comentario de la base de datos al establecer su cadena vacía (''):

Introduction to Oracle9i: SQL 9-26


COMMENT ON TABLE employees IS ' ';

Introduction to Oracle9i: SQL 9-‹Nº›

También podría gustarte