Tengo una pequeña pregunta tonta. He instalado un Servidor de PostgreSQL DB, pero cuando ejecuto la consulta, hay un problema con el identificador de columna sin comillas. No sé por qué son necesarias las comillas para los identificadores. Mi consulta:PostgreSQL - sintaxis de consulta sin comillas
SELECT vc."CAR_ID"
FROM "VEL_CAR" vc, "VEL_DRIVER" vd, "VEL_DRIVER_CAR" vdc
WHERE vc."CAR_ID" = vdc."CAR_ID" and
vdc."DRIVER_ID" = vd."DRIVER_ID";
Mi práctica de base de datos Oracle es no utilizar" Así que en Oracle:.
SELECT vc.CAR_ID
FROM VEL_CAR vc, VEL_DRIVER vd, VEL_DRIVER_CAR vdc
WHERE vc.CAR_ID = vdc.CAR_ID and
vdc.DRIVER_ID = vd.DRIVER_ID;
Cuando ejecuto esta consulta sin comillas en PostgreSQL arroja error acerca de la sintaxis:
ERROR: column vc.car_id does not exist
LINE 1: SELECT vc.CAR_ID
¿sabe por qué?
--SOLVED-- ¡Gracias, ahora he resuelto el problema! Fue sobre la creación de mesa. Creé objetos de tabla usando pgAdminIII y escribí el nombre de la tabla y los nombres de columna en mayúscula. pgAdminIII creó una consulta con cuotas, debido a que los nombres estaban en mayúscula. Entonces, la consulta debe escribirse con cuotas.
Postgres tiene un manejo peculiar de los nombres de tabla y campo con respecto a la distinción entre mayúsculas y minúsculas. –
@ypercube: no es "peculiar" seguir el estándar SQL (y se comporta como Oracle, DB2, Firebird, H2, Derby, ...) –
@veselej En una nota al margen: quota = cantidad de un recurso (espacio en disco, utilización de la CPU, etc.) otorgado a un usuario; quote = cita, cadena entre comillas (', "), por lo que realmente está hablando de comillas y no de cuotas aquí :-) –