<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Forum PostgreSQL - Funkcja sql zwracanie recordów]]></title>
	<link rel="self" href="http://forum.postgresql.org.pl/extern.php?action=feed&amp;tid=87&amp;type=atom"/>
	<updated>2008-10-27T14:25:22Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.postgresql.org.pl/viewtopic.php?id=87</id>
		<entry>
			<title type="html"><![CDATA[Odp: Funkcja sql zwracanie recordów]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=360#p360"/>
			<content type="html"><![CDATA[A w jaki sposób można przekazać do funkcji nazwę kolumny jako parametr , jakiego typu powinien być parametr ??]]></content>
			<author>
				<name><![CDATA[Rady]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=6</uri>
			</author>
			<updated>2008-10-27T14:25:22Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=360#p360</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Funkcja sql zwracanie recordów]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=314#p314"/>
			<content type="html"><![CDATA[Dzięki o to właśnie chodziło czemu ja to przeoczyłem :) Wystarczyło dać SETOF integer :) Jeszcze raz dzięki :)]]></content>
			<author>
				<name><![CDATA[Rady]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=6</uri>
			</author>
			<updated>2008-10-01T21:27:59Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=314#p314</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Odp: Funkcja sql zwracanie recordów]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=313#p313"/>
			<content type="html"><![CDATA[a nie możesz zwracać typ setof integer?]]></content>
			<author>
				<name><![CDATA[rski]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=26</uri>
			</author>
			<updated>2008-10-01T18:55:01Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=313#p313</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Funkcja sql zwracanie recordów]]></title>
			<link rel="alternate" href="https://forum.postgresql.org.pl/viewtopic.php?pid=312#p312"/>
			<content type="html"><![CDATA[Witam napisałem sobie funkcje wyszukującą ID w tabeli ale mam taki problem funkcja ta zwraca mi tylko jeden rekord zamiast zbioru rekordów z zadanym numerze oto funkcja :

CREATE OR REPLACE FUNCTION functionSELECT()
  RETURNS integer AS
'select "NUMER" FROM "TABELANUMEROW" WHERE "NUMER"=$PARAMETR;'
  LANGUAGE 'sql';
ALTER FUNCTION functionSELECT() OWNER TO "Admin";

Wiem że problem polega na tym iż funkcja zwraca wartość integer a chciałbym żeby zwracała zbiór rekordów zawierających jedynie kolumnę NUMER ograniczoną warunkiem WHERE nic poza tym. Nie wiem jaki typ danych użyć gdy użyję konstrukcji :

CREATE OR REPLACE FUNCTION functionSELECT()
  RETURNS SETOF "TABELANUMEROW" AS
'select "NUMER" FROM "TABELANUMEROW" WHERE "NUMER"=$PARAMETR;'
  LANGUAGE 'sql';
ALTER FUNCTION functionSELECT() OWNER TO "Admin";

Funkcja się sypie i to zrozumiałe dla tego bo tabela TABELANUMEROW posiada więcej kolumn niż tylko jedną "NUMER".

Rozwiązania poszukałem w perspektywie : 

CREATE OR REPLACE VIEW "TYLKONUMER" AS 
 SELECT "TABELANUMEROW"."NRUMER"
   FROM "TABELANUMEROW";

ALTER TABLE "TYLKONUMER" OWNER TO "Admin";


I funkcja do tego : 

CREATE OR REPLACE FUNCTION functionSELECT()
  RETURNS SETOF "TYLKONUMER" AS
'select "NUMER" FROM "TABELANUMEROW" WHERE "NUMER"=$PARAMETR;'
  LANGUAGE 'sql';
ALTER FUNCTION functionSELECT() OWNER TO "Admin";

I to działa tak jak powinno.

Ale teraz podstawowe pytanie czy da się zrobić taką funkcję bez definiowania perspektywy ?? Jakiego typu użyć by zwróciła zbiór rekordów w postaci jednej kolumny z tabeli wielokolumnowej ??]]></content>
			<author>
				<name><![CDATA[Rady]]></name>
				<uri>https://forum.postgresql.org.pl/profile.php?id=6</uri>
			</author>
			<updated>2008-10-01T17:06:30Z</updated>
			<id>https://forum.postgresql.org.pl/viewtopic.php?pid=312#p312</id>
		</entry>
</feed>
