Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z funkcją
dado
post
Post #1





Grupa: Zarejestrowani
Postów: 194
Pomógł: 2
Dołączył: 12.04.2004
Skąd: Częstochowa

Ostrzeżenie: (10%)
X----


Witam ma problem z z zrobienie funkcji w postgre a jestem w tym nowy. chodzi żeby funkcja mi zrwóciła wynik zapytania

  1. CREATE FUNCTION getArtnr(artnr text,text) RETURNS text AS $$
  2. SELECT DISTINCT(a.genartnr), c.bez AS genartnr_name, d.name AS producent
  3. FROM tecdoc_400c a
  4. JOIN tecdoc_320 b ON(a.genartnr=b.genartnr)
  5. JOIN tecdoc_030 c ON(b.beznr=c.beznr)
  6. JOIN ec_suppilers d ON(a.dlnr=d.dlnr)
  7. WHERE a.artnr='$1' AND a.kritnr IN(2,16)
  8. $$ LANGUAGE SQL;



wywala mi

  1. ERROR: RETURN type mismatch IN FUNCTION declared TO RETURN text
  2. DETAIL: Final SELECT must RETURN exactly one COLUMN.
  3. CONTEXT: SQL FUNCTION "getartnr"


może ktoś tu wie o co chodzi?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dado
post
Post #2





Grupa: Zarejestrowani
Postów: 194
Pomógł: 2
Dołączył: 12.04.2004
Skąd: Częstochowa

Ostrzeżenie: (10%)
X----


Hm to moja pierwsza funkcja w postgre więc mogę troche pobłądzić
dzięki za info już poprawiłem i funkcja tworzy się

  1. CREATE FUNCTION genartnr(artnr text, DATA anyarray) RETURNS anyarray AS $$
  2. SELECT DISTINCT(a.genartnr), c.bez AS genartnr_name, d.name AS producent
  3. FROM tecdoc_400c a
  4. JOIN tecdoc_320 b ON(a.genartnr=b.genartnr)
  5. JOIN tecdoc_030 c ON(b.beznr=c.beznr)
  6. JOIN ec_suppilers d ON(a.dlnr=d.dlnr)
  7. WHERE a.artnr='$1' AND a.kritnr IN(2,16)
  8. $$ LANGUAGE SQL;


Natomiast (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif) (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif) (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif) (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif)
Nie wiem do końca jak ją poprawnie wywołać

  1. SELECT genartnr('109');


mi wywala
  1. ERROR: FUNCTION genartnr("unknown") does NOT exist
  2. HINT: No FUNCTION matches the given name AND argument types. You may need TO ADD explicit type casts.
  3. SELECT genartnr('109');
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 12:39