Oracle PL/SQL에서 지정된 등록에 대한 가장 최근 대여 날짜를 반환하는 저장 함수를 작성하려고합니다. 내가 SQL 문에서 함수를 호출하는 데 필요한하고오라클 저장 기능 관련 문제
CREATE OR REPLACE Function rec_date_sf(reg_in IN varchar2)
RETURN DATE
IS
lv_max_date DATE;
Begin
SELECT MAX(Date_Rent_Start)
INTO lv_max_date
FROM i_booking
WHERE reg_in = registration;
RETURN lv_max_date;
END;
그래서 내가 아는 등록 테이블에 사용하고 있습니다 :
SELECT rec_date_sf(date_rent_start),
registration
FROM i_booking
WHERE registration = 'E246WFC';
이는 다음과 같이
내 기능입니다 최대 날짜를 생성하는 대신 rec_date_sf
함수에 대해 공백을 반환합니다.
누군가이 코드를 잘 살펴보고 내가 잘못 가고 있다고 말할 수 있습니까?
SQL 대신 PL/SQL을 혼합해서 사용하지 마십시오. 당신은 매우 놀라운 문제에 빠질 수 있습니다. 오직 성능과 함께,하지만 또한 쿼리는 잘못된 결과를 반환 할 수 있습니다. 또는 최소한 "직렬화 가능 격리 수준"을 사용하십시오. – ibre5041