使用一个附加字段将其复制到另一张表中

时间:2018-12-26 15:15:24

标签: android sqlite

我有实体

@Entity(tableName = "student_application")
public class StudentApplication {
    @PrimaryKey(autoGenerate = true)
    private Integer appliactionNo;
    @NonNull
    private String description;
    @NonNull
    private Integer studentAlbumNo;
    @NonNull
    private Integer distanceFromTheCheck_InPlace;
...
}

和为此的DAO

import android.arch.lifecycle.LiveData;
import android.arch.persistence.room.Dao;
import android.arch.persistence.room.Insert;
import android.arch.persistence.room.OnConflictStrategy;
import android.arch.persistence.room.Query;
import java.util.List;
@Dao
public interface StudentApplicationDao {
    @Insert(onConflict = OnConflictStrategy.IGNORE)
    void insert(StudentApplication studentApplication);

    @Query("SELECT * FROM student_application")
    LiveData<List<StudentApplication>> getStudentApplications();

    @Query("DELETE FROM student_application WHERE appliactionNo = :applicationNo")
    void deleteRow(Integer applicationNo);
}

我有一个不同的表,其中包含该表的所有字段和一个附加的“状态”。我想做一个触发器,在此表中插入一些内容后将在该不同表中进行复制。开始时的“状态”始终相同。这可能吗?最好使用批注。我已经读到不可能执行sqlite程序,但是我找不到对这个问题有意义的任何东西。

作为最后的选择,我将其插入在student_application表中插入内容的位置,但是随后我将不得不询问数据库,该应用程序的ID是为具有特定ID的学生分配的。那时变得难以辨认,我正在寻找更好的方法。

感谢帮助。

0 个答案:

没有答案