Tema: " en SQL
Ver Mensaje Individual
  #4  
Antiguo 11-05-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Reputación: 28
jachguate Va por buen camino
En Firebird, al igual que en interbase 6, es posible nombrar los objetos con diferentes combinaciones de mayúsculas y minúsculas.

Por ejemplo, podes tener una tabla llamada "TABLA" y otra llamada "Tabla". Sucede lo mismo con los nombres de los campos. Podes tener un campo CAMPO1 y otro Campo1... en fin. Este comportamiento es gobernado por las comillas dobles en el nobmre de los objetos de la BD.

Si una sentencia SQL no incluye comillas, el comportamiento es el "acostumbrado", convirtiendo primero todos los nombres a MAYUSCULAS.

De esta manera, si creas una tabla de la forma

Código SQL [-]
create table tabla (
  campo1   VarChar(50) Primary key,
  campo2   VarChar(50)
);

la tabla se llamará TABLA, y sus campos CAMPO1 y CAMPO2

Pero si la creas de la forma:

Código SQL [-]
create table "tabla" (
  "campo1"   VarChar(50) Primary key,
  "Campo2"   VarChar(50)
);

La tabla, en este caso, se llamará tabla y sus campos campo1 y Campo2.

En las sentencias SQL que envies al servidor, tenes que seguir esta misma regla para ubicar los objetos creados.

Dada mi ignorancia del estándar SQL92 al respecto, quiero resaltar que no solo interbase/firebird implementa este comportamiento. También oracle, a partir de la versión 8 se comporta de la misma manera en este punto... eso me hace sospechar que es un comportamiento estándar.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita