Гость
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите исправить PL/SQL: SQL Statement ignored / 3 сообщений из 3, страница 1 из 1
21.07.2021, 16:53
    #40085157
diagirl
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите исправить PL/SQL: SQL Statement ignored
Здравствуйте.
Написала процедуру
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
CREATE PROCEDURE credit_portpholio (
    end_date DATE)
AS
    type temp_table_type IS TABLE OF reply%ROWTYPE;
BEGIN
    SELECT pr_cred.num_dog AS "Номер договора",
        client.cl_name AS "ФИО клиента",
        pr_cred.date_begin AS "Дата начала договора",
        pr_cred.date_end AS "Дата окончания договора",
        fact_rest.rest_debt AS "Остаток ссудной задолженности",
        (plan_percent.p_perсent - fact_percent.f_perсent) AS "Сумма предстоящих процентов к погашению"
    INTO temp_table_type
    FROM pr_cred
    JOIN client ON pr_cred.id_client = client.id
    JOIN (SELECT collection_id, 
                SUM(CASE type_oper
                        WHEN 'Выдача кредита' THEN fact_oper.f_summa
                        WHEN 'Погашение кредита' THEN -fact_oper.f_summa
                    END) AS rest_debt
        FROM fact_oper
        WHERE f_date <= end_date
        GROUP BY collection_id) fact_rest
    ON pr_cred.collect_fact = fact_rest.collection_id
    JOIN (SELECT collection_id,
            SUM(CASE type_oper
                WHEN 'Погашение процентов' THEN plan_oper.p_summa
            END) AS p_perсent
        FROM plan_oper
        WHERE p_date <= end_date
        GROUP BY collection_id) plan_percent
    ON pr_cred.collect_plan = plan_percent.collection_id
    JOIN (SELECT collection_id,
            SUM(CASE type_oper
                WHEN 'Погашение процентов' THEN fact_oper.f_summa
            END) AS f_perсent
        FROM fact_oper
        WHERE f_date <= end_date
        GROUP BY collection_id) fact_percent
    ON pr_cred.collect_fact = fact_percent.collection_id;
END;



Но не могу понять почему нормально не компилируется, ругается
6/5 PL/SQL: SQL Statement ignored
12/10 PLS-00321: выражение "TEMP_TABLE_TYPE" неприемлемо в качестве левой части инструкции присвоения
Errors: check compiler log
В чем может быть проблема?
...
Рейтинг: 0 / 0
21.07.2021, 17:11
    #40085160
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите исправить PL/SQL: SQL Statement ignored
diagirl,
19326486
...
Рейтинг: 0 / 0
21.07.2021, 23:18
    #40085225
oragraf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите исправить PL/SQL: SQL Statement ignored
diagirl,

Вы описание типа от объявления переменной отличаете?
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите исправить PL/SQL: SQL Statement ignored / 3 сообщений из 3, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]