Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Storna procedura

[es] :: PostgreSQL :: Storna procedura

[ Pregleda: 2509 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

MarkoBalkan

Član broj: 141124
Poruke: 1624
..4.129.5-dsl.net.metronet.hr.



+19 Profil

icon Storna procedura07.08.2009. u 22:28 - pre 120 meseci
imam proceduru

Code:



CREATE OR REPLACE FUNCTION marko1()
  RETURNS setof record   AS
$BODY$
select   * from prva,druga   where prva."Id"=druga."Id_prva" 
$BODY$
LANGUAGE 'sql';
 



i ova procedura mi vrati x slogova ali sa jednim poljem.

što staviti umjesto record da mi vraća slogove sa poljima.

npr.

select marko1()

vrati

marko1
record
(1,1,1,2,3)

a kada probam

select * from marko1
naravno javi grešku


ERROR: a column definition list is required for functions returning "record"
LINE 1: select * from marko1()
^

********** Error **********

ERROR: a column definition list is required for functions returning "record"
SQL state: 42601
Character: 16


ako imam jednu tableu sve funkcionira.
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4534



+705 Profil

icon Re: Storna procedura07.08.2009. u 23:26 - pre 120 meseci
Nije li ti lakše da napraviš VIEW umesto funkcije za to što hoćeš da ti se vrati?
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..4.129.5-dsl.net.metronet.hr.



+19 Profil

icon Re: Storna procedura07.08.2009. u 23:29 - pre 120 meseci
Citat:
jablan: Nije li ti lakše da napraviš VIEW umesto funkcije za to što hoćeš da ti se vrati?


u pravu si.
ali ako znaš kako ide, molim te napiši.
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4534



+705 Profil

icon Re: Storna procedura07.08.2009. u 23:37 - pre 120 meseci
Ne mogu da ti napišem bolje nego što stoji u dokumentaciji:

http://www.postgresql.org/docs/8.1/static/sql-createview.html
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..4.129.5-dsl.net.metronet.hr.



+19 Profil

icon Re: Storna procedura07.08.2009. u 23:55 - pre 120 meseci
Citat:
jablan: Ne mogu da ti napišem bolje nego što stoji u dokumentaciji:

http://www.postgresql.org/docs/8.1/static/sql-createview.html


ne za view nego za proceduru za ovaj problem.
samo da vidim kako ide.

moram se malo po igrati sa time.
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Moderator
Član broj: 53780
Poruke: 575
*.dialup.neobee.net.

Sajt: www.baze-podataka.net


+4 Profil

icon Re: Storna procedura08.08.2009. u 21:00 - pre 120 meseci
Napravi kompozitni tip podataka i onda napravi funkiciju koja vraca taj tip. Ako hoćeš detaljniji odgovor (od mene) onda navedi:
1. DDL od tabela "prva" i "druga"
2. Koju verziju servera koristiš?


"The best code is no code at all." - Zidar (ES član)
"Biggest obstacle to learning SQL is unlearning procedural programming." - Joe
Celko
"Minimize code, maximize data." - A. Neil Pappalardo
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
...130.11-dsl.net.metronet.hr.



+19 Profil

icon Re: Storna procedura08.08.2009. u 23:00 - pre 120 meseci
Citat:
chachka: Napravi kompozitni tip podataka i onda napravi funkiciju koja vraca taj tip. Ako hoćeš detaljniji odgovor (od mene) onda navedi:
1. DDL od tabela "prva" i "druga"
2. Koju verziju servera koristiš?


evo kolona za prvu i drugu
prva -> Id,A
druga ->Id,Id_prva,B,C

ovo je bilo za probu.


verzija postgresql-a 8.4

jel možeš odgovoriti na privatnu poruku?

hvala
 
Odgovor na temu

chachka
Srđan Mijatov
Programer
BUS Computers
Kikinda

Moderator
Član broj: 53780
Poruke: 575
93.86.32.*

Sajt: www.baze-podataka.net


+4 Profil

icon Re: Storna procedura10.08.2009. u 08:54 - pre 120 meseci
1. To što si postovao nije DDL!
2. Pošto se radi o 8.4 serveru, a nisi postavio DDL tabela, mogu ti reći samo: upotrebi RETURNS TABLE klauzulu komande CREATE FUNCTION.
3. Nevidim potrebu da odgovaram putem privatnih poruka

"The best code is no code at all." - Zidar (ES član)
"Biggest obstacle to learning SQL is unlearning procedural programming." - Joe
Celko
"Minimize code, maximize data." - A. Neil Pappalardo
 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..141.189-dsl.net.metronet.hr.



+19 Profil

icon Re: Storna procedura10.08.2009. u 12:40 - pre 120 meseci
to sam i prije probao ali javlja grešku



******* Error **********

ERROR: syntax error at or near "AS"
SQL state: 42601
Character: 105

 
Odgovor na temu

MarkoBalkan

Član broj: 141124
Poruke: 1624
..141.189-dsl.net.metronet.hr.



+19 Profil

icon Re: Storna procedura10.08.2009. u 12:57 - pre 120 meseci
evo procedure ako nekome treba

Code:


CREATE OR REPLACE FUNCTION marko11() 
RETURNS   TABLE (Id integer,A double precision,B double precision)
AS $$
    begin
     RETURN QUERY (
      select "prva"."Id","prva"."A","druga"."B" from prva,druga where prva."Id"=druga."Id_prva" 
      );
    end;
$$

  LANGUAGE 'plpgsql' ;
  


 
Odgovor na temu

[es] :: PostgreSQL :: Storna procedura

[ Pregleda: 2509 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.