ďťż
 
postgresql funkcja ďťż
 
postgresql funkcja
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

postgresql funkcja



jarek - 20-09-2007 00:03
postgresql funkcja
  Witam,
Czy mógłby mi ktoś powiedzieć co jest powodem poniższego błędu w logach ??

LOG: statement: select suma(907,901,200709,200709);
LOG: statement: SELECT CASE WHEN sum(z.ilosc) is null THEN 0 ELSE sum(z.ilosc)
END, CASE WHEN sum(z.ilosc*z.kwota) is null THEN 0 ELSE sum(z.ilosc*z.kwota) END
FROM zlecenia z INNER JOIN nazwy_d nd1 ON nd1.idnazwy_d=z.idnazwy_d_zlec AND
nd1.poziom_0= $1 INNER JOIN nazwy_d nd2 ON nd2.idnazwy_d=z.idnazwy_d_wyk AND
nd2.poziom_0= $2 WHERE (z.rok||z.miesiac) BETWEEN $3 AND $4 AND z.aktywny
CONTEXT: SQL statement "SELECT CASE WHEN sum(z.ilosc) is null THEN 0 ELSE
sum(z.ilosc) END, CASE WHEN sum(z.ilosc*z.kwota) is null THEN 0 ELSE
sum(z.ilosc*z.kwota) END FROM zlecenia z INNER JOIN nazwy_d nd1 ON
nd1.idnazwy_d=z.idnazwy_d_zlec AND nd1.poziom_0= $1 INNER JOIN nazwy_d nd2 ON
nd2.idnazwy_d=z.idnazwy_d_wyk AND nd2.poziom_0= $2 WHERE (z.rok||z.miesiac)
BETWEEN $3 AND $4 AND z.aktywny"
PL/pgSQL function "suma" line 9 at select into variables

A oto procedura

CREATE OR REPLACE FUNCTION "public"."suma" (integer, integer, integer, integer)
RETURNS "public"."suma" AS
$body$
DECLARE
temp1 suma;
vZlec ALIAS FOR $1;
vWyk ALIAS FOR $2;
vDataOd ALIAS FOR $3;
vDataDo ALIAS FOR $4;
BEGIN

SELECT
INTO
temp1.ilosc,
temp1.kwota
CASE WHEN sum(z.ilosc) is null THEN 0 ELSE sum(z.ilosc) END,
CASE WHEN sum(z.ilosc*z.kwota) is null THEN 0 ELSE sum(z.ilosc*z.kwota) END
FROM zlecenia z
INNER JOIN nazwy_d nd1 ON
nd1.idnazwy_d=z.idnazwy_d_zlec AND
nd1.poziom_0=vZlec
INNER JOIN nazwy_d nd2 ON
nd2.idnazwy_d=z.idnazwy_d_wyk AND
nd2.poziom_0=vWyk
WHERE
(z.rok||z.miesiac) BETWEEN vDataOd AND vDataDo AND
z.aktywny;

RETURN temp1;
END;
$body$
LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;

i typ do którego zwracany jest wynik procedury

CREATE TYPE "public"."suma" AS (
"ilosc" NUMERIC(10,0),
"kwota" NUMERIC(12,2)
);

pozdr.

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl





Szymon - 20-09-2007 00:03

  jarek pisze:
> Witam,
> Czy mógłby mi ktoś powiedzieć co jest powodem poniższego błędu w logach ??
>
> LOG: statement: select suma(907,901,200709,200709);
> LOG: statement: SELECT CASE WHEN sum(z.ilosc) is null THEN 0 ELSE sum(z.ilosc)
> END, CASE WHEN sum(z.ilosc*z.kwota) is null THEN 0 ELSE sum(z.ilosc*z.kwota) END
> FROM zlecenia z INNER JOIN nazwy_d nd1 ON nd1.idnazwy_d=z.idnazwy_d_zlec AND
> nd1.poziom_0= $1 INNER JOIN nazwy_d nd2 ON nd2.idnazwy_d=z.idnazwy_d_wyk AND
> nd2.poziom_0= $2 WHERE (z.rok||z.miesiac) BETWEEN $3 AND $4 AND z.aktywny
> CONTEXT: SQL statement "SELECT CASE WHEN sum(z.ilosc) is null THEN 0 ELSE
> sum(z.ilosc) END, CASE WHEN sum(z.ilosc*z.kwota) is null THEN 0 ELSE
> sum(z.ilosc*z.kwota) END FROM zlecenia z INNER JOIN nazwy_d nd1 ON
> nd1.idnazwy_d=z.idnazwy_d_zlec AND nd1.poziom_0= $1 INNER JOIN nazwy_d nd2 ON
> nd2.idnazwy_d=z.idnazwy_d_wyk AND nd2.poziom_0= $2 WHERE (z.rok||z.miesiac)
> BETWEEN $3 AND $4 AND z.aktywny"
> PL/pgSQL function "suma" line 9 at select into variables
>
>
> A oto procedura
>
> CREATE OR REPLACE FUNCTION "public"."suma" (integer, integer, integer, integer)
> RETURNS "public"."suma" AS
> $body$
> DECLARE
> temp1 suma;
> vZlec ALIAS FOR $1;
> vWyk ALIAS FOR $2;
> vDataOd ALIAS FOR $3;
> vDataDo ALIAS FOR $4;
> BEGIN
>
> SELECT
> INTO
> temp1.ilosc,
> temp1.kwota
> CASE WHEN sum(z.ilosc) is null THEN 0 ELSE sum(z.ilosc) END,
> CASE WHEN sum(z.ilosc*z.kwota) is null THEN 0 ELSE sum(z.ilosc*z.kwota) END
> FROM zlecenia z
> INNER JOIN nazwy_d nd1 ON
> nd1.idnazwy_d=z.idnazwy_d_zlec AND
> nd1.poziom_0=vZlec
> INNER JOIN nazwy_d nd2 ON
> nd2.idnazwy_d=z.idnazwy_d_wyk AND
> nd2.poziom_0=vWyk
> WHERE
> (z.rok||z.miesiac) BETWEEN vDataOd AND vDataDo AND
> z.aktywny;
>
> RETURN temp1;
> END;
> $body$
> LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;
>
> i typ do którego zwracany jest wynik procedury
>
> CREATE TYPE "public"."suma" AS (
> "ilosc" NUMERIC(10,0),
> "kwota" NUMERIC(12,2)
> );
>
> pozdr.
>
>

hm... czy czekasz na odpowiedź: "Tak, ktoś mógłby?"
Następnym razem wklej informację dokładnie informację o błędzie, bo to
co wkleiłeś to tylko kawałek, nawet nie jest napisane, że to błąd.

select into ma inną składnię:

create table X ( id int, name int);
--------------------------------------
DECLARE
_id int; _name int;

SELECT id, name INTO _id, _name FROM X;

--------------------------------------
select KOLUMNY into ZMIENNE from costam;




=?ISO-8859-2?Q?Pawe=B3_Matejski?= - 21-09-2007 00:03

  Szymon wrote:
>
> select into ma inną składnię:
>
> --------------------------------------
> select KOLUMNY into ZMIENNE from costam;

Można i tak, a można i w odwrotnej kolejności.

--
P.M.




Herakles - 22-09-2007 00:16

  jarek wrote:

> Witam,
> Czy mógłby mi ktoś powiedzieć co jest powodem poniższego błędu w logach ??
>
> LOG: statement: select suma(907,901,200709,200709);
> LOG: statement: SELECT CASE WHEN sum(z.ilosc) is null THEN 0 ELSE
> sum(z.ilosc) END, CASE WHEN sum(z.ilosc*z.kwota) is null THEN 0 ELSE
> sum(z.ilosc*z.kwota) END FROM zlecenia z INNER JOIN nazwy_d nd1 ON
> nd1.idnazwy_d=z.idnazwy_d_zlec AND
> nd1.poziom_0= $1 INNER JOIN nazwy_d nd2 ON nd2.idnazwy_d=z.idnazwy_d_wyk
> AND
> nd2.poziom_0= $2 WHERE (z.rok||z.miesiac) BETWEEN $3 AND $4 AND
> z.aktywny
> CONTEXT: SQL statement "SELECT CASE WHEN sum(z.ilosc) is null THEN 0
> ELSE sum(z.ilosc) END, CASE WHEN sum(z.ilosc*z.kwota) is null THEN 0 ELSE
> sum(z.ilosc*z.kwota) END FROM zlecenia z INNER JOIN nazwy_d nd1 ON
> nd1.idnazwy_d=z.idnazwy_d_zlec AND nd1.poziom_0= $1 INNER JOIN nazwy_d
> nd2 ON
> nd2.idnazwy_d=z.idnazwy_d_wyk AND nd2.poziom_0= $2 WHERE
> (z.rok||z.miesiac)
> BETWEEN $3 AND $4 AND z.aktywny"
> PL/pgSQL function "suma" line 9 at select into variables
>
>
> A oto procedura
>
> CREATE OR REPLACE FUNCTION "public"."suma" (integer, integer, integer,
> integer) RETURNS "public"."suma" AS
> $body$
> DECLARE
> temp1 suma;
> vZlec ALIAS FOR $1;
> vWyk ALIAS FOR $2;
> vDataOd ALIAS FOR $3;
> vDataDo ALIAS FOR $4;
> BEGIN
>
> SELECT
> INTO
-----------------------------------------------
> temp1.ilosc,
> temp1.kwota
> CASE WHEN sum(z.ilosc) is null THEN 0 ELSE sum(z.ilosc) END,
> CASE WHEN sum(z.ilosc*z.kwota) is null THEN 0 ELSE
> sum(z.ilosc*z.kwota) END
-----------------------------------------------
Zmień na:
temp1
CASE WHEN sum(z.ilosc) is null THEN 0 ELSE sum(z.ilosc) END,
CASE WHEN sum(z.ilosc*z.kwota) is null THEN 0 ELSE
sum(z.ilosc*z.kwota) END

> FROM zlecenia z
> INNER JOIN nazwy_d nd1 ON
> nd1.idnazwy_d=z.idnazwy_d_zlec AND
> nd1.poziom_0=vZlec
> INNER JOIN nazwy_d nd2 ON
> nd2.idnazwy_d=z.idnazwy_d_wyk AND
> nd2.poziom_0=vWyk
> WHERE
> (z.rok||z.miesiac) BETWEEN vDataOd AND vDataDo AND
> z.aktywny;
>
> RETURN temp1;
> END;
> $body$
> LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER;
>
> i typ do którego zwracany jest wynik procedury
>
> CREATE TYPE "public"."suma" AS (
> "ilosc" NUMERIC(10,0),
> "kwota" NUMERIC(12,2)
> );
>
> pozdr.
>
>
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [PostgreSQL] - jak =?ISO-8859-2?Q?zabezpieczy=E6_interesy_tw?==?ISO-8859-2?Q?=F3rcy_systemu_=3F=3F=3F?= postgresql - int/int postgresql Select count(*) czy raczej Select count(ID) [postgresql] INSERT OR UPDATE - jak =?ISO-8859-2?Q?b=EAdzie_na?==?ISO-8859-2?Q?jlepiej=3F?= [postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?= Postgres - replikcja master-master Dopasowanie do "najlepszego" dopasowania :) [ PostgreSQL] Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?= =?ISO-8859-2?Q?[psql]_Polskie_t=B3umaczenie_?= =?ISO-8859-2?Q?licencji_BSD_dla_PostgreSQL=3F?= [firebird] Czym =?ISO-8859-2?Q?zast=B1pi=E6_postgresowy_inte?==?ISO-8859-2?Q?rval_=3F?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • ponland.htw.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com