Создание функции в базе данных Oracle - PullRequest
0 голосов
/ 09 мая 2018
Question is : I have to Create Function with below Details 
Function Name : Credit_Limit 
Input         : Entity_Id (Shipment_entity) 
Returns       : VARCHAR2 (Limit_Status)

Правила оформления :

  1. Если credit_limit данного идентификатора сущности больше 50000, то отобразить limit_status как «Кредитный лимит больше 50000»
  2. Если credit_limit данного идентификатора сущности меньше 50000, то отобразить limit_status как «Кредитный лимит меньше 50000»

Примечание: НЕ ИЗМЕНЯЙТЕ данное сообщение о состоянии в вашем решении.

    CREATE OR REPLACE FUNCTION credit_limit (entity_id IN INTEGER)
         RETURN VARCHAR2
       IS
         c_credit_limit   NUMBER (5, 2);
         limit_status     VARCHAR (255);
        BEGIN
          SELECT credit_limit
             INTO c_credit_limit
           FROM shipment_entity
          WHERE id = entity_id;

    IF c_credit_limit > 50000
    THEN
        limit_status := 'Credit limit is greater than 50000';
    ELSE
        IF c_credit_limit < 50000
        THEN
            limit_status := 'Credit limit is less than 50000';
        END IF;
    END IF;

    RETURN (c_credit_limit);
    END;
    /

Я выполнил вышеупомянутый код, функция создана, но она показывает неправильный ответ после отправки кода. помощь в этом.

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Ниже функция работает нормально

СОЗДАТЬ ИЛИ ЗАМЕНИТЬ ФУНКЦИЮ credit_limit (entity_id IN INTEGER) Возврат VARCHAR2 ЯВЛЯЕТСЯ c_credit_limit shipment_entity.credit_limit% TYPE; limit_status VARCHAR (255); НАЧАТЬ ВЫБЕРИТЕ credit_limit INTO c_credit_limit FROM shipment_entity ГДЕ id = entity_id;

IF c_credit_limit > 50000
THEN
    limit_status := 'Credit limit is greater than 50000';
ELSE
    IF c_credit_limit < 50000
    THEN
        limit_status := 'Credit limit is less than 50000';
    END IF;
END IF;

RETURN limit_status;
END;
/
0 голосов
/ 09 мая 2018

Вы хотите:

RETURN limit_status;

не

RETURN (c_credit_limit);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...