Postgres noobie hier.
Ich versuche, eine SQL Server gespeicherte Proc in eine Postgres-Funktion zu konvertieren. Derzeit kann ich nicht herausfinden, wie man diese SQL-Zeile in Postgres umwandelt.
SQL Server:
%Vor%Postgres:
%Vor%Ich erhalte den Fehler "Spalte n existiert nicht." Wie referenziere ich Parameter in Select-Anweisungen in Postgres-Funktionen?
UPDATE:
Definition der Postgres-Funktion
%Vor% Parameternamen sind nur Dekoration, wenn Ihre Funktion in Sprache SQL language plpgsql
Folglich müssen Sie sich auf die Funktion args mit $ X beziehen, wobei X die Ordinalposition der Argumentliste der Funktion ist (beginnend mit 1).
%Vor%Sie können benannte Parameter nicht in einer Funktion verwenden, die mit language = SQL definiert ist.
Sie müssen den Platzhalter $ 1 verwenden.
%Vor%Dieses Verhalten ist im Handbuch dokumentiert: Ссылка
Soweit es die SQL-Funktion selbst betrifft, sind diese Namen nur Dekoration; Sie müssen immer noch auf die Parameter $ 1, $ 2 usw. innerhalb des Funktionskörpers
verweisen
Bearbeiten
Seit der Version 9.2 ist es möglich, benannte Parameter mit (normaler) SQL-Funktion zu verwenden, Ссылка
Tags und Links sql postgresql stored-procedures