Problem beim Funktionsaufruf

Hallo PostGresianer,

meine Funktion:

CREATE OR REPLACE FUNCTION “TestFunktion”(int4, int4, int4)
RETURNS int4 AS
‘SELECT $1+$2+$3;’
LANGUAGE ‘sql’ VOLATILE;
ALTER FUNCTION “TestFunktion”(int4, int4, int4) OWNER TO postgres;

meine Funktionsaufruf:

SELECT TestFunktion(1, 2, 3);

Postgres ERROR:
ERROR: function testfunktion(integer, integer, integer) does not exist

Wo stehe ich auf Schlauch?

Danke im voraus
PGNewMan

Wenn Du mit “Foo” was definierst, dann ist das dann auch “Foo” und nicht Foo, weil PG ohne
" es zu lower wandelt.

Hallo akretschmer,
vielen Dank für deine schnelle Antwort.

Ich habe die Funktion mit pgAdmin III erstellt. Anscheinend unterscheidet pgAdmin zwischen Große und kleine Schreibweise.

Ich bin jetzt bisle schlauer. Danke

Ja, das pgadminIII da den Benutzer a bissl verarscht hab ich wohl auch schon mal vernommen.
Ich nutze es nicht, ich mag das pure Vergnügen mit psql…

Nicht pgAdmin sondern PostgreSQL wandelt das um.

Bin mir nicht sicher. Sobald man in pgadmin was gRoß schreibt, quotet es das von sich aus.
Habsch mal so vernommen…

Hallo PGNewMan,

PgAdmin hält sich an den Regeln der PostgreSQL-Datenbank. In der Doku findest Du im Kapitel “Namen und Schlüsselwörter” dazu folgendes:

Wenn man einen Namen in Anführungszeichen setzt, dann spielt auch die Groß- und Kleinschreibung eine Rolle, wohingegen Namen ohne Anführungszeichen in Kleinbuchstaben umgewandelt werden. So sind zum Beispiel FOO, foo und “foo” derselbe Name, aber “Foo” und “FOO” bezeichnen Namen, die sich von den ersten drei und voneinander unterscheiden.


mfg

fristo

Zu dem Thema gibt es einen speziellen Betrag: Groß- und Kleinschreibung von Namen



mfg

fristo