안녕하세요 길벗수험서 운영팀입니다.
말씀하시는 것처럼 사용자 정의 함수는 일반적으로 DML에서 속성명이 오는 자리에 올 수 있으나, 구체적으로 들어가면 모든 속성이 오는 자리에 위치할 수는 없습니다. '값'으로 대용될 수 있는 속성의 자리.. 에 사용자 정의 함수가 위치할 수 있다고 설명할 수 있겠네요.
예를 들어보죠.
insert into 테이블명(속성1, 속성2) values (값1, 값2...);
위의 문장에서 속성은 테이블에 속한 속성을 지정하기 때문에 속성 대신 사용자 정의함수가 들어갈 수 없습니다.
delete from 테이블명 where 속성 = 값;
위의 문장에서 속성은 삭제할 튜플의 속성 또는 속성을 이용한 식을 지정해주어야 합니다. 그렇지 않으면 어떤 튜플을 삭제할지 구체화시킬 수 없기 때문이죠.
update 테이블명 set 속성 = 값;
위의 문장은 테이블에서 특정 속성의 값을 변경하는 문장인데 속성 요소가 삭제된다면 update문 자체가 의미가 없어지게 됩니다.
위의 모든 DML 문장의 '값'에는 속성이 올 수도 있기 때문에 앞에서 '값'으로 대용될 수 있는 속성의 자리라고 설명드린 것입니다.
각 DML 문의 정확한 용도와 문장 작성법을 정확하게 이해하신다면 사용자 정의 함수가 올 수 있는 위치를 예상하기가 좀 더 쉬워지실 것입니다.
행복한 하루되세요 :)
-
관리자2020-02-26 09:48:42
안녕하세요 길벗수험서 운영팀입니다.
말씀하시는 것처럼 사용자 정의 함수는 일반적으로 DML에서 속성명이 오는 자리에 올 수 있으나, 구체적으로 들어가면 모든 속성이 오는 자리에 위치할 수는 없습니다. '값'으로 대용될 수 있는 속성의 자리.. 에 사용자 정의 함수가 위치할 수 있다고 설명할 수 있겠네요.
예를 들어보죠.
insert into 테이블명(속성1, 속성2) values (값1, 값2...);
위의 문장에서 속성은 테이블에 속한 속성을 지정하기 때문에 속성 대신 사용자 정의함수가 들어갈 수 없습니다.
delete from 테이블명 where 속성 = 값;
위의 문장에서 속성은 삭제할 튜플의 속성 또는 속성을 이용한 식을 지정해주어야 합니다. 그렇지 않으면 어떤 튜플을 삭제할지 구체화시킬 수 없기 때문이죠.
update 테이블명 set 속성 = 값;
위의 문장은 테이블에서 특정 속성의 값을 변경하는 문장인데 속성 요소가 삭제된다면 update문 자체가 의미가 없어지게 됩니다.
위의 모든 DML 문장의 '값'에는 속성이 올 수도 있기 때문에 앞에서 '값'으로 대용될 수 있는 속성의 자리라고 설명드린 것입니다.
각 DML 문의 정확한 용도와 문장 작성법을 정확하게 이해하신다면 사용자 정의 함수가 올 수 있는 위치를 예상하기가 좀 더 쉬워지실 것입니다.
행복한 하루되세요 :)