¿Importa el caso cuando define o llama una función en PostgreSQL?¿Los nombres de las funciones en PostgreSQL son insensibles?
Respuesta
Los nombres de las funciones son identificadores (como nombres de tablas, nombres de campos), el mismo rules sobre sensibilidades de casos se aplica a todos.
En resumen, los identificadores son insensibles a , a menos que se indique.
Más precisamente, un identificador sin comillas se convierte internamente en en minúscula y luego se intenta una coincidencia de mayúsculas y minúsculas. Esto puede hacer que su vida sea miserable (es decir, errores ocultos, horas desperdiciadas), por lo general, si utilizó identificadores entre comillas para definir la tabla o función.
Es por eso que siempre debe definir su propio naming convention y atenerse a él.
Consejo general: use siempre minúsculas para los identificadores, y sea feliz.
db=# select now();
now
-------------------------------
2011-06-10 16:33:06.588401-03
(1 row)
db=# select Now();
now
-------------------------------
2011-06-10 16:33:08.066818-03
(1 row)
db=# select "now"();
now
-------------------------------
2011-06-10 16:33:14.543381-03
(1 row)
db=# select "Now"();
ERROR: function Now() does not exist
LINE 1: select "Now"();
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
El identificador y los nombres de las palabras clave en PostgreSQL no distinguen entre mayúsculas y minúsculas. Los nombres de las funciones son identificadores.
Supongo que puede obtener muchas respuestas diferentes a esta pregunta. Técnicamente, los nombres de funciones en PostgreSQL distinguen entre mayúsculas y minúsculas. Pero cuando se dirige una función a través de SQL, se aplican las reglas de sintaxis del identificador, es decir, que los identificadores sin comillas se pliegan en minúsculas. Esto puede dar la ilusión de nombres de funciones insensibles a mayúsculas y minúsculas, pero es solo la idiosincrasia del lenguaje SQL. Contraste esto, por ejemplo, con los nombres de los lenguajes de procedimiento, que no distinguen entre mayúsculas y minúsculas, incluso si se citan dos veces los identificadores.
- 1. ¿Las funciones de PostgreSQL son transaccionales?
- 2. ¿Las funciones idempotentes son las mismas que las funciones puras?
- 3. ¿Son importantes los nombres de las pruebas de unidad?
- 4. Pasar argumentos de palabras clave a una función cuando los nombres de las variables locales son los mismos que los nombres de los parámetros de funciones
- 5. PostgreSQL fuerza nombres minúsculos?
- 6. ¿Son costosas las funciones analíticas de Oracle?
- 7. Cuando los bloques son más útiles que las funciones (ruby)?
- 8. Cómo son inseguros los punteros a las funciones
- 9. _Underscores en nombres de funciones
- 10. PostgreSQL: nombres de restricción predeterminados
- 11. ¿Puedo usar funciones agregadas en los valores de PostgreSQL HStore?
- 12. Las funciones de JavaScript son objetos?
- 13. ¿Cuáles son las reglas para invocar funciones en los literales de números en JS?
- 14. ¿Por qué los nombres de funciones de biblioteca estándar son diferentes entre Windows y Linux?
- 15. postgresql 9.1 - tablas de acceso a través de las funciones
- 16. Cambiar el nombre de los nombres de las columnas en la base de datos postgresql
- 17. cuáles son las ventajas de usar plpgsql en postgresql
- 18. funciones PostgreSQL y desencadena
- 19. ¿Por qué los prototipos de funciones incluyen nombres de parámetros cuando no son necesarios?
- 20. ¿Qué son exactamente las funciones anónimas?
- 21. "Las llamadas a funciones son costosas" vs. "Mantener funciones pequeñas"
- 22. ¿Qué son las funciones __defineGetter __() y __defineSetter __()?
- 23. Implementando las funciones de extensión C para PostgreSQL, ¿cómo hago esto? (pasando datos entre C/PostgreSQL)
- 24. Nombres de funciones como cadenas en Lisp?
- 25. ¿Las declaraciones de funciones deberían incluir nombres de parámetros?
- 26. Comparación de cadenas insensibles a los acentos?
- 27. ¿Son realmente necesarios los nombres de las etiquetas XML/HTML dentro de las etiquetas de cierre?
- 28. ¿Qué significa "Ex" en los nombres de las funciones de la API de Windows?
- 29. ¿Cuáles son los caracteres válidos para los nombres de macro?
- 30. ¿Cuáles son los usos de funciones virtuales puras en C++?
No debería importar. Pruébalo y mira! ;) – FrustratedWithFormsDesigner
No debería importar, pero puede ser importante. – leonbloy