Я, кажется, получаю ОШИБКУ:
ERROR: function releve_cumul(unknown, unknown) does not exist
LINE 1: select * from releve_cumul('51780','117510');
Вот код функции.
create or replace function releve_cumul (matricule char(10), prog char(7)) returns table
(trimc char(5), cred_total numeric, moy_cumul numeric) as $$
with r1 as (SELECT * FROM notes WHERE matricule=releve_cumul.matricule AND prog=releve_cumul.prog),
r11 as (SELECT * FROM r1 NATURAL JOIN titres),
r2 as(SELECT * FROM r11 NATURAL JOIN credits),
r3 as(SELECT * FROM r2 NATURAL JOIN valnotes),
r4 as(SELECT * FROM r3 WHERE note!='ABA' AND note!='SE' AND note!='REM' AND note!='(S)'),
r5 as(SELECT trimc, SUM(credits) as credits,ROUND(SUM(credits*valeur)/SUM(credits),3) as valeur
FROM r4 GROUP BY trimc ORDER BY trimc),
r6 as(select trimc, credits, SUM(credits) OVER (ORDER BY trimc) as cred_total, valeur FROM r5),
r7 as(SELECT trimc, cred_total, ROUND(SUM(credits*valeur)/SUM(credits) OVER (Order By trimc),3)
as moy_cumul FROM r6 GROUP BY trimc, credits)
SELECT trimc, cred_total, moy_cumul from r7
$$ language 'sql';
select * from releve('51780','117510');
select * from releve2('51780','117510');
select * from releve_cumul('51780','117510');
Как вы можете видеть прямо перед тем, как я вызываю releve_cumul, я вызываю 2 другие функции, они имеют одинаковую подпись (буквальное копирование и вставка, поэтому я их не включил), я действительно не понимаю, почему эта последняя не работает вообще. ПРИМЕЧАНИЕ. Если это важная информация, я довольно плохо знаком с этим языком, и это часть домашней работы.