안녕하세요 길벗수험서 운영팀입니다.
delete from 절에는 와일드 카드 *가 사용되지 않습니다.
where절만 생략해도 그냥 모든 튜플이 싹다 날라갑니다.
(delete가 특정 속성의 값을 삭제하는 것이 아닌 튜플을 날리는 구문이라는 것을 염두에 두세요.)
(select 등에서 사용되는 *는 모든 속성을 가리키는 것입니다.)
행복한 하루되세요 :)
-
관리자2020-04-02 09:52:19
안녕하세요 길벗수험서 운영팀입니다.
delete from 절에는 와일드 카드 *가 사용되지 않습니다.
where절만 생략해도 그냥 모든 튜플이 싹다 날라갑니다.
(delete가 특정 속성의 값을 삭제하는 것이 아닌 튜플을 날리는 구문이라는 것을 염두에 두세요.)
(select 등에서 사용되는 *는 모든 속성을 가리키는 것입니다.)
행복한 하루되세요 :)
-
관리자2020-04-02 21:00:50
안녕하세요 길벗수험서 운영팀입니다.
delete 문에서 *의 사용여부는 결과에 영향을 주지 않습니다.
*가 있든없든 where 조건이 있다면 조건에 맞는 튜플을 삭제하게 됩니다.
DCL의 commit, rollback, savepoint의 예제에 나온 delete from문은 MS-Access를 기반으로 짜여진 코드들이라 delete * from이 정상적으로 동작하지만,
일반적으로 사용되는 Oracle, MySQL, MS-SQL 에서는 delete * from이라고 작성하는 경우 구문 오류가 발생합니다.
(MS-Access에서도 delete from이 작동하니, delete문에서는 '*'는 사용할 수 없다라고 학습해두세요.)
행복한 하루되세요 :)
-
*2020-04-02 15:03:56
p.529에서 SAVEPOINT 관련 예제들 보면
Sql문이 DELETE * FROM 사원 WHERE 사원번호 = 40;
이런식으로 되어있는데
여기서 * 도 모든걸 지우라는것 아닌가요..?
Delete 문에서
WHERE는 다 삭제고
* 는 WHERE에 부합하는 값들을 다 지우라는건가요?
답변부탁드립니다