current_database ou current_database()
Hello les experts,
J'ai un petit souci avec les fonctions current_database et current_user.
Dans mes tests ci-dessous on voit que parfois il faut utiliser () après la fonction pour avoir le résultat et parfois non...
Je comprends que current_database et current_user sont des fonctions car ils renvoient un résultat (à la différence d'une procédure) mais pourquoi pour certaines fonctions faut-il obligatoirement utiliser () et pour d'autres non?
Quelque chose me dit que mon analyse ci-dessus est fausse mais... où?
Dernier point : je ne comprends pas le message d'erreur "la colonne « current_database » n'existe pas" : pourquoi parler de colonne?
Merci pour vos réponses.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| postgres=# select current_database;
ERREUR: la colonne « current_database » n'existe pas
LIGNE 1 : select current_database;
^
postgres=# select current_database();
current_database
------------------
postgres
(1 ligne)
postgres=# select current_user;
current_user
--------------
postgres
(1 ligne)
postgres=# select current_user();
ERREUR: erreur de syntaxe sur ou près de « ( »
LIGNE 1 : select current_user();
^
postgres=# |