Portál AbcLinuxu, 10. května 2025 23:12

Dotaz: postgre a promenny sloupecek

14.8.2006 11:12 charlie
postgre a promenny sloupecek
Přečteno: 82×
Odpovědět | Admin
V postgre mam funkci na vyrizovani pozadavku..... Je to jen ulozeni pozadavku do DB a melo by to vratit text ktery se posle klientovi podle jeho jazyka (cz, en, ...)

CREATE OR REPLACE FUNCTION pozadavek(IN _zid integer,  _msg text) RETURNS text AS $$
DECLARE _key varchar(35);
DECLARE _out texty%rowtype;
BEGIN
  INSERT INTO pozadavek (zakaznik, obsah) VALUES (_zid, _msg);
  SELECT INTO _key jazyk FROM zakaznik WHERE id = _zid;
  SELECT INTO _out * FROM texty WHERE klic = 'pozadavek';
  RETURN _out; 
END;
$$ LANGUAGE plpgsql;

problem je ze bych chtel napsat

SELECT INTO _out _key FROM texty WHERE klic = 'pozadavek';

tabulka texty ma sloupce cz, en, ... takze bych chtel pomoci promenne volit z jakeho sloupce pujdou data vubec nevim co s tim... RETURN _out[_key] nejde...
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.8.2006 11:33 Sinuhet | skóre: 31
Rozbalit Rozbalit vše Re: postgre a promenny sloupecek
Odpovědět | | Sbalit | Link | Blokovat | Admin
Dynamicke dotazy?
14.8.2006 11:54 Charlie
Rozbalit Rozbalit vše Re: postgre a promenny sloupecek
Nojo ale

EXECUTE 'SELECT ' || quote_literal(_key) || 'FROM texty WHERE klic = "klic..." INTO _out'; nefunguje

SELECT INTO tam pisi jestli to dobre chapu ze zatim nejde, takze to mi moc nepomuze....

Jinak uz je pozde na zmenu navrhu DB....
14.8.2006 12:56 Sinuhet | skóre: 31
Rozbalit Rozbalit vše Re: postgre a promenny sloupecek

INTO musite dat pryc z toho selectu, je soucasti prikazu EXECUTE

EXECUTE 'SELECT ' || quote_literal(_key) || 'FROM texty WHERE klic = "klic..."' INTO _out;
14.8.2006 12:58 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: postgre a promenny sloupecek
Jinak uz je pozde na zmenu navrhu DB....

O tom pochybuji. Jestli to necháte takto, budete s tím mít čím dál víc problémů. Nemluvě o tom, že při tom vašem návrhu stejně budete muset změnit strukturu databáze, jakmile se objeví nový jazyk.

14.8.2006 11:33 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: postgre a promenny sloupecek
Odpovědět | | Sbalit | Link | Blokovat | Admin
To je velmi nešťastný návrh. Použijte místo toho tabulku, kde jazyk bude druhý klíč, ušetříte si tím spoustu problémů.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.