Re: PostgreSQL Function mehrspaltig?



Tim Landscheidt schrieb:
>>[...]
Ich habe diese Function mit dem EMS PostgreSQL Manager
erstellt. Der liefert mir die Fehlermeldung, dass das letzte
Select einspaltig sein muss. Wenn ich nur eine Spalte
zurueckgebe, laesst sich der SQL Code als Function erzeugen,
bei zwei Spalten nicht mehr.
Welche Funktion hast Du erzeugt? "Stasi 2.0" mag schon weit
fortgeschritten sein, aber ich bin nicht derjenige, der Dei-
nen Bildschirm sehen kann.
Hier die Function:
CREATE OR REPLACE FUNCTION "schema"."abc" () RETURNS SETOF varchar AS
'SELECT t1."Spalte1" || ' ' || t1."Spalte2" AS "String1",
t2."Spalte1" AS "String2"
FROM schema."Tabelle1" t1,
schema."Tabelle2" t2,
schema."Tabelle3" t3,
schema."Tabelle4" t4
WHERE t1."ID" = t4."Tabelle1" AND
t2."ID" = t4."Tabelle2" AND
t3."ID" = t4."Tabelle3" AND
t3."Spalte1" = 'abc'
ORDER BY t1."Spalte1",
t1."Spalte2";
' LANGUAGE 'sql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;

So sieht die eigentliche Abfrage aus. Fehlermeldung lautet:

FEHLER: Rueckgabetyp von Funktion stimmt nicht ueberein; deklariert als character varying[] (bzw. character varying, geht beides nicht)
DETAIL: Das letzte SELECT muss genau eine Spalte zurueckgeben.

Gruss,
Clemens

.



Relevant Pages

  • Re: Probleme beim Konvertieren von nvarchar Spalten in Int
    ... > ich bin leider ein absoluter Anfänger in SQL und hoffe das es trotzdem ... > dank dem nvarchar Datentyp der Spalte nicht geht da nun miene ausgabe wie ... > Select Wert ... > From tmp ...
    (microsoft.public.de.sqlserver)
  • SQL Syntax
    ... Wenn ich in die Generierte INI Datei schaue sehe ich das es mir folgenden SQL String zusammenbaut: Select * from Tabelle where Spalte NOT LIKE '%' ... Das ein Select * from Tabelle where Spalte is null funzt weis ich. ...
    (microsoft.public.de.sqlserver)
  • Re: Dynamische WHERE-Klausel
    ... Ich allerdings bin kein Freund davon, denn SQL Injection ist bei dynamischem SQL nicht fern. ... col in (Select value From dbo.fn_split(@p, ',')) ... ... Diese Konstrukte verwende ich auch schon. ...
    (microsoft.public.de.sqlserver)
  • SSIS - Spalte um ein Feld mit SQL-Ausdruck erweitern
    ... Diese Spalte ist aber nicht fix, sondern soll per SQL ... ermittelt werden (SELECT max(datum) as maxdatum). ... Habe schon mit zusätzlicher OLEDB-Quelle dem Zusammenfügen Objekt ...
    (microsoft.public.de.sqlserver)
  • Re: Daten schnell lesen =?ISO-8859-1?Q?=28Gegenst=FCck_zu_BU?= =?ISO-8859-1?Q?LK_INS
    ... Achim Domma schrieb: ... hab' ich dich einfach als SQL Freak einsortiert. ... SELECT * FROM Sales.SalesOrderDetail ...
    (microsoft.public.de.sqlserver)