Oracle
 sql >> база данни >  >> RDS >> Oracle

Имам нужда кодът на цената да бъде поискан само ако тип :=E

всеки път, когато извиквате променлива с амперсанд, свързаният оператор я възприема като параметър. Можете да го извикате като процедура или функция за потискане на такъв отговор:

SQL> set serveroutput on;
SQL> CREATE OR REPLACE PROCEDURE MY_PROC( lv_price_num NUMBER, lv_type_txt VARCHAR2 ) IS
      lv_disc_num NUMBER(3,2);
    BEGIN 
      IF lv_type_txt = 'E' THEN
            IF    lv_price_num > 85 THEN
                  lv_disc_num := .20;
            ELSIF lv_price_num > 45 THEN
                  lv_disc_num := .15;
            ELSE  lv_disc_num := .10;
            END IF;
        ELSIF lv_type_txt = 'C' THEN
              lv_disc_num := .05;
        ELSE lv_disc_num := 0;
        END IF;
        DBMS_OUTPUT.PUT_LINE(lv_disc_num);
   END; 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Не може да се изтеглят резултатите чрез подаване на вход като xml път в oracle

  2. Единично тестване за PL/SQL

  3. Колона за автоматично увеличение – последователност като стойност по подразбиране в Oracle

  4. Как да използвате Decode в Oracle

  5. Стойността на свързване на масив на Oracle.DataAccess (ODP.NET) не попада в очаквания диапазон