2011-02-16 7 views
0

나는이 상황에 있습니다. 나는 두 개의 테이블을 가지고 있는데, 하나는 노래 목록을 포함하는 테이블이고 다른 하나는 아티스트의 목록을 포함합니다. 노래 테이블의 각 행에는 아티스트 (아티스트 테이블의 한 행)에 대한 참조가 포함되어 있습니다. 노래 테이블에서 업데이트 또는 삭제 후에 아티스트가 더 이상 노래에서 참조되지 않는지 확인하고 필요할 경우 삭제합니다. 이렇게하면 사용하지 않은 아티스트가없는 깨끗한 데이터베이스를 가질 수 있습니다. 이것이 가능한가? 이것을 어떻게 할 수 있습니까? 감사합니다. 물론트리거는 sqlite에서 다른 곳에서 참조되지 않은 항목을 삭제합니다.

답변

1

것이 가능하다)

나는 sqlite가에 대한 정확한 구문을 알고 있지만,이 시도하지 않는 :

create trigger trigger_name 
after delete, update on artists_table 
for each row 
begin 

delete from artists_table where artists_id = old.artists_id 
    where (select count(*) from songs where artists_id = old.artists_id) = 0; 

end 
+0

감사합니다! 나는이 방법으로 작동하게 만들었습니다! –

관련 문제