您的位置:首页 > 数据库

Music -Database -4(数据库触发器和View的学习)

2010-05-06 14:21 288 查看
db.execSQL("CREATE TRIGGER IF NOT EXISTS audio_meta_cleanup DELETE ON audio_meta " +
"BEGIN " +
"DELETE FROM audio_genres_map WHERE audio_id = old._id;" +
"DELETE FROM audio_playlists_map WHERE audio_id = old._id;" +
"END");


触发器:好处当删除,更新,创建时候会自动执行。比如我要删掉music中的一首歌的时候,那要把和该首歌的所有信息一起删除。所有用到了触发器,当delete的时候,删除掉 audio_meta中的id同时 删除audio_genres_map id相同的那首歌,所有创建了触发器

create trigger if not existes (触发器的名称) Delete/update/create(什么时候触发) ON 表名

begin:

你要执行的语句

end:

old是当delete和update的时候用到 --->代表该表的字段

new 是create 和update的时候用到

SELECT _DELETE_FILE(old._data);


从sdcard位置上删除掉对应的文件(物理删除)

总结:学习music 的contentprovider的时候发现google的代码写的很紧凑。值的我们大家借鉴。比如上面触发器的使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: