Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Error al crear Tabla (https://www.clubdelphi.com/foros/showthread.php?t=75601)

Quim Herrera 06-09-2011 08:11:58

Error al crear Tabla
 
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:
Código SQL [-]
 
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:
Código SQL [-]
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.

Código SQL [-]
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.


La franja horaria es GMT +2. Ahora son las 00:56:10.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi