a operación de activación de Android Sqlite pasa por

Esta es mi primera tabla, tiene 3 columnas y todas son ingresadas por el usuario. Sin complicaciones y funciona bien. Pero hay otra tabla y depende de esta tabla 3ra columna. es decir, en la columna del número de habitación. Ignore la convención de nombres, ya que realmente no he seguido ninguna convención de nomenclatura.

Esta es mi segunda tabla y, como pueden ver, tiene su última columna como número de habitación. ignore la convención de nombres. esta columna de número de habitación es una clave foránea, depende de la entrada de la primera tabla o eliminar Ahora he creado un esquema para la segunda tabla. que declara que tiene 5 columnas y la última es la clave externa.

 private static final String DATABASE_CREATE_NOTES_ID_TABLE =
    ("CREATE TABLE "+ DATABASE_NOTES_TABLE +" ("+ KEY_ROWID +" INTEGER PRIMARY KEY AUTOINCREMENT, "+
            KEY_TIME + " TEXT, "+ 
            KEY_NOTES + " TEXT, "+ 
            KEY_DATE +  " TEXT, " +
            KEY_ROOMS + " INTEGER , FOREIGN KEY (" + KEY_ROOMS + ") REFERENCES " + DATABASE_PATIENT_TABLE +" (" +KEY_ROOM_NUMBER+ "));");

Tables como ves se está creando con éxito. Ahora tengo que escribir una declaración TRIGGER, basada en eso cuando elimino un número de habitación de la primera tabla, entonces todas las filas de la segunda tabla que tienen el mismo número de habitación deben eliminarse. Y si agrego un nuevo número de habitación en la primera tabla, entonces debería agregarse en la segunda tabla. La declaración de activación para insertar el nuevo número de habitación que he escrito es la siguiente

    db.execSQL("CREATE TRIGGER fk_notesTable_roomNumber " +
                " BEFORE INSERT "+
                " ON "+DATABASE_NOTES_TABLE+
                " FOR EACH ROW BEGIN"+
                " SELECT CASE WHEN ((SELECT "+KEY_ROOM_NUMBER+" FROM "+DATABASE_PATIENT_TABLE+" WHERE "+KEY_ROOM_NUMBER+"=new."+KEY_ROOMS +" ) IS NULL)"+
                " THEN RAISE (ABORT,'Foreign Key Violation') END;"+
                "  END;");

Este fragmento de código que he agregado en onCreate () de mi archivo de base de datos. ¿Qué más hago? Aquí no pasa nada. Por favor, indíqueme dónde estoy cometiendo un error. Gracias en toneladas, Shaista