Skip to main content

Command Palette

Search for a command to run...

Explorando la Vista V$RESERVED_WORDS en Oracle

Published
2 min readView as Markdown
Explorando la Vista V$RESERVED_WORDS en Oracle
C

Mi nombre es Carla y me defino como una apasionada de conocer, compartir ideas, divertirme y aprender todo lo relacionado con Oracle.

Alegre y creativa, con un alto grado de autoexigencia, que busca, incluso sin querer, una forma diferente de ver un mismo problema o solución. Defensora del trabajo en equipo en todas las facetas de la vida y de disfrutar todo lo que haces, siempre con humildad.

Actualmente cuento con más de 15 años de experiencia como administradora de Oracle, habiendo ocupado previamente posiciones como desarrolladora en la rama de Inteligencia de Negocios. Fue en ese momento que me di cuenta de que no quería centrarme en el desarrollo, sino participar en todas las capas que involucraban los datos, desde el despliegue de la base de datos hasta su explotación final.

Siempre estoy dispuesta a ayudar y compartir conocimientos. Creo firmemente que con la tecnología hay que divertirse y no verla como una competencia. La persona con la que tienes que ser el mejor es contigo mismo.

Cuando trabajamos con bases de datos Oracle, es fundamental conocer las palabras reservadas que no pueden utilizarse como identificadores sin comillas o que tienen un significado especial dentro del motor de base de datos. Para facilitar esta consulta, Oracle proporciona la vista V$RESERVED_WORDS, que nos permite conocer qué términos están reservados y cómo pueden afectar a la sintaxis SQL.

¿Qué es V$RESERVED_WORDS?

La vista V$RESERVED_WORDS ofrece una lista de palabras clave que están reservadas en la base de datos Oracle. Esto es especialmente útil cuando definimos nombres de tablas, columnas, índices u otros objetos, ya que utilizar una palabra reservada puede generar errores inesperados o requerir el uso de identificadores delimitados (entre comillas dobles).

Columnas Principales de V$RESERVED_WORDS

La vista V$RESERVED_WORDS contiene varias columnas que nos proporcionan información detallada sobre cada palabra reservada:

  • KEYWORD: La palabra clave o reservada en cuestión.

  • LENGTH: Longitud de la palabra clave.

  • RESERVED: Indica si la palabra está completamente reservada (1: sí, 0: no).

  • RES_TYPE: Indica si la palabra está reservada para su uso como tipo de datos.

  • RES_ATTR: Indica si la palabra está reservada para atributos.

  • RES_SEMI: Indica si la palabra está reservada en ciertas circunstancias.

  • DUPLICATE: Indica si la palabra está duplicada dentro de la lista de palabras reservadas.

Consultando V$RESERVED_WORDS

Podemos realizar una consulta sencilla sobre esta vista para obtener la lista de palabras reservadas en Oracle:

SELECT KEYWORD, RESERVED, RES_TYPE, RES_ATTR, RES_SEMI FROM V$RESERVED_WORDS ORDER BY KEYWORD;

Si queremos obtener solo las palabras completamente reservadas, podemos filtrar por la columna RESERVED:

SELECT KEYWORD FROM V$RESERVED_WORDS WHERE RESERVED = 1 ORDER BY KEYWORD;

Uso de Palabras Reservadas en Oracle

Cuando necesitamos usar una palabra reservada como nombre de un objeto (por ejemplo, una tabla o una columna), debemos colocar el nombre entre comillas dobles. Sin embargo, esto no es recomendable porque puede generar problemas de compatibilidad y mantenimiento.

Ejemplo:

CREATE TABLE "USER" ( "ID" NUMBER PRIMARY KEY, "NAME" VARCHAR2(100) );

En este caso, la tabla y las columnas deben referenciarse siempre con comillas dobles, lo que puede complicar la escritura de consultas SQL.

Conclusión

La vista V$RESERVED_WORDS es una herramienta útil para conocer las palabras clave de Oracle y evitar posibles conflictos al nombrar objetos en la base de datos. Consultarla puede ayudarnos a seguir buenas prácticas y evitar problemas de sintaxis que dificulten el desarrollo y mantenimiento de nuestras bases de datos.

Si trabajas con Oracle, asegúrate de verificar esta vista antes de elegir nombres para tus tablas y columnas para evitar sorpresas inesperadas.

More from this blog

Carla Muñoz López

65 posts

Soy DBA senior de bases de datos Oracle y me defino como una persona alegre y creativa. Apasionada por conocer, compartir ideas, divertirme y seguir aprendiendo todo lo relacionado con Oracle.