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
SongoQ
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

Ostrzeżenie: (0%)
-----


  1. CREATE TYPE type1 AS (
  2. a1 integer,
  3. b1 varchar,
  4. c1 varchar
  5. );
  6.  
  7. CREATE FUNCTION genartnr(artnr text) RETURNS type1 AS $
  8. SELECT DISTINCT(a.genartnr) AS a1, c.bez AS b1, d.name AS c1
  9. FROM tecdoc_400c a
  10. JOIN tecdoc_320 b ON(a.genartnr=b.genartnr)
  11. JOIN tecdoc_030 c ON(b.beznr=c.beznr)
  12. JOIN ec_suppilers d ON(a.dlnr=d.dlnr)
  13. WHERE a.artnr = $1 AND a.kritnr IN (2,16);
  14. $ LANGUAGE SQL;
  15.  
  16. SELECT * FROM genartnr( 'nie potrafie czytac manual' );


Ten post edytował SongoQ 10.03.2009, 13:22:33
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: 15.10.2025 - 05:54