Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak pobrać wartość kursora za pomocą % ROWTYPE

Dlaczego używasz dwóch zmiennych? Możesz to zrobić krócej (nie testowałem):

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. Jak napisać zapytanie, które robi coś podobnego do GROUP_CONCAT MySQL w Oracle?

  2. Jak pracować z funkcjami daty w Oracle sql

  3. Wykonaj dla każdej tabeli w PLSQL

  4. Sprawdź, czy tabele są identyczne, używając SQL w Oracle

  5. Nie można zrozumieć, w jaki sposób wartość przekonwertowana na format daty niejawnie