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

eyh26e7m  于 2023-03-16  发布在  Android
关注(0)|答案(1)|浏览(153)

如何使用房间持久性库“创建触发器

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
ubby3x7f

ubby3x7f1#

在你的RoomDatabase上调用getOpenHelper()。这会给你一个SupportSQLiteOpenHelper,它有一个让人想起SQLiteOpenHelper的API。在那里,调用getWritableDatabase()来得到一个SupportSQLiteDatabase,在那里使用execSQL()来执行你的SQL语句。RoomDatabase.Callback是执行这种SQL的一个地方,正如AdamMc331在this Kotlin snippet中所说明的。
换句话说,Room对这种场景没有什么帮助,但是对于这种情况,您总是可以使用较低级别的数据库API。

相关问题