如何使用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
如何使用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 中所说明的。RoomDatabase.Callback
的一个使用案例;你可以在 onCreate()
中创建触发器。你可以通过 RoomDatabase.Builder
上的 addCallbacks()
方法附加 Callback
。” - CommonsWare