Oracle/SQL/DDL y DCL

< Oracle‎ | SQL

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
CREATE | DROP ROLE rol
  • Para GRANT y REVOKE, los roles se utilizan como si fueran usuarios o permisos.
  • Predefinidos: DBA, CONNECT, RESOURCE