我有一个很奇怪的问题,我真的无法意识到我在做错什么。我有一个新项目要修复,以前的开发人员告诉我,Postgresql更新后某些功能停止工作。使用反复试验的方法,我发现在外部运行这段代码时页面停止(?)加载。公平地讲,页面加载和无限加载甚至都不是绝对停止。这是查询代码:
SELECT DISTINCT ON (z."Zlecenie") z."Zlecenie",
sz."Nazwa",
erp."Odbiorca",
erp."ZleconePrzez",
erp."OpisWysylki",
z."DataWplywu",
to_char(z."PlanowaneZakonczenie", 'YYYY-MM-DD'::text) AS "ZaplanowanaDataZlecenia",
to_char(z."PlanowaneZakonczenie", 'HH24:MI'::text) AS "ZaplanowanyCzasZlecenia",
z."PlanowaneZakonczenie",
( SELECT min("ZleceniaERP"."StatusZlecenia") AS min
FROM "ZleceniaERP"
WHERE "ZleceniaERP"."Zlecenie"::text = z."Zlecenie"::text) AS "StatusZlecenia",
( SELECT "SprawdzCzyZlecenieMaTowaryNieWidniejaceWMagazynie" (z."Zlecenie"::text) AS "SprawdzCzyZlecenieMaTowaryNieWidniejaceWMagazynie") AS "CzyTowarySaWMagazynie",
( SELECT sum("ZleceniaERP"."Zamowiono") AS sum
FROM "ZleceniaERP"
WHERE "ZleceniaERP"."Zlecenie"::text = z."Zlecenie"::text) AS "IloscPar",
( SELECT round(wg."WAGA", 1) AS "WAGA"
FROM "WagaZlecenia_view" wg
WHERE wg."Zlecenie"::text = z."Zlecenie"::text) AS "WAGA",
( SELECT sum("ZleceniaERP"."Zrealizowano") AS ilosczre
FROM "ZleceniaERP"
WHERE "ZleceniaERP"."Zlecenie"::text = z."Zlecenie"::text) AS ilosczre,
( SELECT round(wg."OBJETOSC", 1) AS "OBJETOSC"
FROM "WagaZlecenia_view" wg
WHERE wg."Zlecenie"::text = z."Zlecenie"::text) AS "OBJETOSC",
to_char(z."DataFaktury", 'YYYY-MM-DD'::text) AS "DataFaktury",
z."NumerFaktury"
FROM "ZleceniaERP" z,
"Towary" t,
"StatusyZlecenia" sz,
"ERPNaglowki" erp
WHERE sz."ID" = z."StatusZlecenia" AND z."Towar"::text = t."Barkod"::text AND
z."NieWyswietlajWKolejce" = false AND erp."Zlecenie"::text = z."Zlecenie"::text;
这是上面查询中的两个查询,这些查询会中断加载:
( SELECT round(wg."WAGA", 1) AS "WAGA"
FROM "WagaZlecenia_view" wg
WHERE wg."Zlecenie"::text = z."Zlecenie"::text) AS "WAGA",
这:
( SELECT round(wg."OBJETOSC", 1) AS "OBJETOSC"
FROM "WagaZlecenia_view" wg
WHERE wg."Zlecenie"::text = z."Zlecenie"::text) AS "OBJETOSC",
这是WagaZlecenia_view创建代码,此查询可以正常使用。
CREATE OR REPLACE VIEW public."WagaZlecenia_view" AS
SELECT z."Zlecenie",
sum(z."Zamowiono"::double precision * pt."WagaJednostkowaERP")::numeric AS "WAGA",
sum(z."Zamowiono"::double precision * pt."ObjetoscERP" / pt."OpakowanieIloscERP")::numeric AS "OBJETOSC"
FROM "ZleceniaERP" z,
"Porownanie_Trawers_view" pt
WHERE z."Towar"::text = pt."Towar"::text AND z."Zamowiono" <> 0
GROUP BY z."Zlecenie"
ORDER BY z."Zlecenie";
ALTER TABLE public."WagaZlecenia_view"
OWNER TO postgres;
我真的不知道这里会发生什么。现在我正在运行PostgreSQL 9.3.24,不幸的是我不知道更新前的版本是什么。 预先感谢您的每一个答复!