android – 使用房间数据库(房间持久性库)创建触发器

前端之家收集整理的这篇文章主要介绍了android – 使用房间数据库(房间持久性库)创建触发器前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何使用Room Persistence库“创建触发器”
CREATE TRIGGER  IF NOT EXISTS delete_till_10 INSERT ON user WHEN (select count(*) from user)>9

BEGIN 

    DELETE FROM user WHERE id IN  (SELECT id FROM user ORDER BY id limit (select count(*) -9 from user));

END

解决方法

在RoomDatabase上调用getOpenHelper().这为您提供了一个SupportsqliteOpenHelper,它具有让人联想到sqliteOpenHelper的API.在那里,调用getWritableDatabase()以获取SupportsqliteDatabase,并在那里使用execsql()来执行您的sql语句. RoomDatabase.Callback是执行此类sql的一个地方,正如AdamMc331在 this Kotlin snippet中所示.

IOW,Room对这种情况没有任何帮助,但是对于像这样的情况,你总是可以使用低级数据库API.

猜你在找的Android相关文章