동일한 서버 (dbA 및 dbB)에 두 개의 데이터베이스가 있습니다. 둘 다 CUSTOMERS라는 테이블이 있습니다. 고객의 나이를 계산하여 dbA.CUSTOMERS 테이블의 현재 날짜와 DateOfBirth 열을 기준으로 dbB.CUSTOMERS 열에서 AGE 열에 가져 오려고합니다. 오라클 SQL에서 연령을 계산하는 방법
내가SELECT floor(months_between(SYSDATE, (SELECT BIRTH_DATE FROM dbA.CUSTOMERS)) /12) from dual;
를 사용하려고 나이를 계산하려면 그러나 이것은 내가이 추측하고 ORA-01427:single-row subquery returns more than one row
를 반환하는 하위 쿼리가 반환하는 BIRTH_DATE 열의 모든 행 때문이다. 거기에 모든 행에 대해 이렇게하고 내 dbB.CUSTOMERS 테이블에 결과를 삽입 할 someway 있나요? 내가 OracleSQL
을 사용하고는
왜? 나이는 시간이 지남에 따라 변합니다. 필요한 경우 건물을 짓고 함수를 호출하는 것이 좋습니다. 결정적이라면 함수 기반 인덱스를 사용할 수 있습니다. 그러나 이것은 결정론 적이 지 않습니다. 그래서 다시 왜입니까? 기능이 나을 것 같아요. – xQbert
@xQbert 이것은 운동을위한 것으로, 시간 경과에 따라 변하는 나이는 부적합합니다. – Akaitenshi
매우 열악한 운동을 선택했습니다. 강사가 시연 (또는 테스트)하려고 시도하는 모든 것이 현실 세계에서 실제로하는 것과 유사한 더 나은 예를 선택해야합니다. 이 과제는 현실 세계에서 꽤 바보 스럽습니다. 테이블에 연령을 저장하는 것이 어떻게 든 의미가 있음을 암시하거나 암시하지 않고도 똑같은 기능, 기술 등을 정확히 보여주는 의미있는 과제를 제시하는 것은 매우 쉽습니다. 그냥 내 2 센트 ... – mathguy