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

Как да извлека стойност на курсора с %ROWTYPE

Защо използвате две променливи? Можете да го направите по-кратко (не е тествано):

CURSOR TO_ALL(hd APR.ZONE_HD_APPR%TYPE) IS
  SELECT   EMP.EMPLOYEE_CODE,
           EMP.EMP_NAME,
           APR.LEFT_DT,
           APR.RESIGN_TYPE
    FROM   FSC_APPROVAL APR, 
              JOIN CHR_ALL_EMPLOYEE_BI_V EMP ON EMP.EMPLOYEE_ID = APR.EMP_ID
   WHERE   APR.HOD_APPR = 'Y'
           AND NVL(APR.ZONE_HD_APPR, 'NULL') = NVL(hd, 'NULL')
           AND EMP.EMPLOYEE_ID = APR.EMP_ID;

CUR_VAL TO_ALL%ROWTYPE;

BEGIN

      OPEN TO_ALL(CASE TRIGER_BY WHEN 'HOD' THEN 'NULL' ELSE 'Y');
      LOOP
         FETCH TO_ALL INTO   CUR_VAL;
         ...
         EXIT WHEN TO_ALL%NOTFOUND;
      END LOOP;

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. Грешка ORA-00932 при използване на избор с полета за съюз и CLOB

  2. TAN() Функция в Oracle

  3. REGEXP_COUNT() Функция в Oracle

  4. Как да влезете в база данни на Oracle?

  5. Методи за настройка на NLS параметри и техните приоритети (база данни на Oracle)