2014-04-25 1 views

답변

6

의 피연산자는 조작에 대해 하나의 열 값을 반환하는 하위 쿼리입니다. 열 값은 중첩 테이블이어야합니다. 그렇지 않으면 런타임 오류가 발생합니다. 이 값은 스칼라 값이 아닌 중첩 테이블이므로 Oracle에 알려야하며 이는 연산자 인 THE가하는 것입니다.

Oracle Documentation 가입일

DECLARE 
    adjustment INTEGER DEFAULT 1; 
    ... 
BEGIN 
    ... 
    UPDATE 
     THE(SELECT courses FROM department 
      WHERE name = 'Psychology') 
     SET credits = credits + adjustment 
     WHERE course_no IN (2200, 3540); 

.

+3

또한 [11.2 설명서] (http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_10002.htm#SQLRF30047)의 참고 사항을 언급 할 가치가 있습니다. "Oracle의 이전 릴리스에서는 collection_expression이 하위 쿼리 였지만 table_collection_expression이 하위 쿼리로 표시되었습니다.이 사용법은 현재 사용되지 않습니다. " –