PDA

Ver la Versión Completa : Error al crear Tabla


Quim Herrera
06-09-2011, 08:11:58
Buenos dias a todos,

Estoy Trabajando con Firebird 2.5 y me da un error al crear una tabla que empieza con un número:

create table 1_CDESCOM (
CCODCUA varchar( 10 ) not null collate ES_ES_CI_AI ,
CDESCRI varchar( 80 ) not null collate ES_ES_CI_AI ,
XDTE numeric( 7, 2 ) default 0 not null ,
CONSTRAINT pk_1_CDESCOM_CODCUA PRIMARY KEY ( CCODCUA ) );


Me da error tanto desde Flamerobin como utilizando los componentes IBSQL de Delphi 2009:

SQL Message : -104
Invalid token
Engine Code : 335544569
Engine Message :
Dynamic SQL Error
SQL error code = -104
Token unknown - line 1, column 14
1

Si cambio el nombre para que no empiece con un numero, se crea sin problemas:

create table A1_CDESCOM (
CCODCUA varchar( 10 ) not null collate ES_ES_CI_AI ,
CDESCRI varchar( 80 ) not null collate ES_ES_CI_AI ,
XDTE numeric( 7, 2 ) default 0 not null ,
CONSTRAINT pk_A1_CDESCOM_CODCUA PRIMARY KEY ( CCODCUA ) );


¿Alguien sabe si hay alguna restricion en los nombres de Firebird? ¿No pueden empezar por un número?

Saludos y gracias de antemano.

Quim Herrera

guillotmarc
06-09-2011, 10:30:27
Hola.

Me di cuenta el otro día con los nombres de variable. Ocurre lo mismo.

Puedes encerrar el nombre en comillas (dobles) para usar un número al inicio del mismo.


create table "1_CDESCOM" (
CCODCUA varchar( 10 ) not null collate ES_ES_CI_AI ,
CDESCRI varchar( 80 ) not null collate ES_ES_CI_AI ,
XDTE numeric( 7, 2 ) default 0 not null ,
CONSTRAINT pk_1_CDESCOM_CODCUA PRIMARY KEY ( CCODCUA ) );

Saludos.

Quim Herrera
06-09-2011, 11:05:41
Perfecto, con comillas dobles ya funciona.

Gràcies Marc.