Ir al contenido

Oracle/SQL/DDL y DCL

De Wikilibros, la colección de libros de texto de contenido libre.

Tablas

[editar]
CREATE TABLE AS
SELECT ...
  • La nueva tabla mantiene los tipos de datos.
  • No incluye ninguna restricción de integridad.

Vaciado: TRUNCATE TABLE

[editar]
TRUNCATE TABLE tabla

Vistas

[editar]
CREATE VIEW vista AS
SELECT …

DROP VIEW vista

Secuencias

[editar]
CREATE SEQUENCE secuencia
[START WITH valor]
[INCREMENT BY valor]
  • Siguiente valor: secuencia.NEXTVAL
  • Último valor (por sesión): secuencia.CURRVAL


Sinónimos

[editar]

Un sinónimo en Oracle, es una representación local o pública de un objeto perteneciente a un esquema. Sirve para poder hacer referencia a aquel objeto sin tener que anteponer su esquema. Un sinónimo público puede ser visto por todos los usuarios, pero uno privado, sólo por el usuario que lo creó. Para poder crear un sinónimo, el esquema o usuario que lo crea, tiene que tener alguno o ambos privilegios de los siguientes: CREATE SYNONYM CREATE PUBLIC SYNONYM Para el caso de un sinónimo simple (no público), el usuario tiene que tener privilegio sobre el objeto al que le creará el sinónimo. Por ejemplo, si es una tabla, deberá tener al menos privilegio de select, insert, delete o update sobre la misma.

No todas las bases de datos soportan los sinónimos. Para crear un sinónimo hay que utilizar la sentencia CREATE SYNONYM especificando el nombre que deseamos utilizar como sinónimo y la tabla para la que estamos creando el sinónimo.

CREATE [PUBLIC] SYNONYM sinonimo
FOR [dueño.]objeto

DROP [PUBLIC] SYNONYM sinonimo
  • Sinónimos Públicos: para todos los usuarios

Usuarios y Esquemas

[editar]
CREATE USER usuario
IDENTIFIED BY clave

DROP USER usuario [CASCADE]
  • Usuario = Esquema

Permisos

[editar]

Dar Permisos: GRANT

[editar]
GRANT permiso [ON objeto];
TO usuario

Quitar Permisos: REVOKE

[editar]
REVOKE permiso [ON objeto]
FROM usuario

Tipos de Permisos

[editar]
  • Para Tablas y Vistas: SELECT, INSERT, UPDATE, DELETE
  • Para Objetos ejecutables: EXECUTE
  • Para Usuarios: CREATE VIEW

Roles

[editar]
CREATE | DROP ROLE rol
  • Para GRANT y REVOKE, los roles se utilizan como si fueran usuarios o permisos.
  • Predefinidos: DBA, CONNECT, RESOURCE