Hallé este ejemplo, escrito por Robert Vollman, aquí. Es en inglés y por eso decidí hacer una traducción española. En Oracle, el nombre de una tabla, un procedimiento o una variable no puede empezar con un número:
SQL> alter session set nls_language = 'SPANISH';
Session altered.
SQL> CREATE TABLE 123Tabla (unvalor NUMBER);
CREATE TABLE 123Tabla (unvalor NUMBER)
*
ERROR at line 1: ORA-00903: nombre de tabla no válido
SQL>
Si quieres hacerlo, hay que poner el nombre entre comillas:
SQL> CREATE TABLE "123Tabla" (unvalor NUMBER);
Table created.
SQL>
Un nombre entre comillas es sensible al uso de mayúsculas y minúsculas:
SQL> DROP TABLE "123TABLA";
DROP TABLE "123TABLA"
*
ERROR at line 1:
ORA-00942: la tabla o vista no existe
SQL> DROP TABLE "123Tabla";
Table dropped.
SQL>
También se pueden emplear palabras reservadas entre comillas:
SQL> CREATE TABLE TABLE (NUMBER NUMBER);
CREATE TABLE TABLE (NUMBER NUMBER)
*
ERROR at line 1:
ORA-00903: nombre de tabla no válido
SQL> CREATE TABLE "TABLE" (NUMBER NUMBER);
CREATE TABLE "TABLE" (NUMBER NUMBER)
*
ERROR at line 1:
ORA-00904: : identificador no válido
SQL> CREATE TABLE "TABLE" ("NUMBER" NUMBER);
Table created.
SQL> DESC "TABLE"
Name Null? Type
----------------------- -------- ----------------
NUMBER NUMBER
SQL>
No hay comentarios:
Publicar un comentario