2016-03-25 8 views
1

Ich schreibe Funktion in PostgreSQL, aber es erlaubt mir nicht, Variable in ihm zu deklarieren. Hier ist die Funktion.Kann Variable nicht innerhalb von Funktion auf PostgreSQL deklarieren

CREATE FUNCTION clean_emp() RETURNS void AS 
$func$ 
DECLARE cnt varchar; 

$func$ LANGUAGE SQL; 

Fehlermeldung ERROR: Syntaxfehler bei oder in der Nähe von "varchar" SQL-Status: 42601 Charakter: 66

Antwort

2

Es überrascht nicht. Die Sprache SQL unterstützt keine Variablen. Sie müssen die Sprache plpgsql verwenden.

CREATE OR REPLACE FUNCTION clean_emp() 
RETURNS void AS $$ 
DECLARE cnt varchar; 
BEGIN 
END; 
$$ LANGUAGE plpgsql; 

Weitere Informationen finden Sie in der Dokumentation http://www.postgresql.org/docs/current/static/plpgsql.html.

PostgreSQL hat mehr Sprachen für das Schreiben von Funktionen. Die SQL-Sprache ist perfekt für Einzelzeilen-Makros mit einer Zeile. Der PLpgSQL ist eine klassische Muttersprache, ähnlich wie Oracle PL/SQL mit Embedded SQL.

+0

Perfekt, es löste mein Problem. Vielen Dank.. – AAjit

Verwandte Themen