问题陈述
我有一个mnesia备份文件,并希望从中提取值。有3个表(简单来说),员工,技能和出勤率。因此,mnesia备份文件包含来自这三个表的所有数据。
Emplyee表是:
Empid (Key)
Name
SkillId
AttendanceId
技能表是
SkillId (Key)
Skill Name
出勤表是
Code (Key)
AttendanceId
Percentage
我尝试了什么 我用过
ets:foldl(Fetch,OutputFile,Table)
Fetch:是一个单独的函数,用于遍历所获取的记录以引入所需的输出格式。
OutputFile:它写入此文件
表:表格的名称
期待
我是带有AttendanceId的gettig记录(因为这是关键),因为我只想获得代码。它显示员工信息和出勤ID。
帮帮我。
答案 0 :(得分:1)
mnesia用户指南here中描述了备份和还原。
要阅读现有备份而不进行恢复,请使用mnesia:traverse_backup/4。
1> mnesia:backup(backup_file).
ok
2> Fun = fun(BackupItems, Acc) -> {[], []} end.
#Fun<erl_eval.12.90072148>
3> mnesia:traverse_backup(backup_file, mnesia_backup, [], read_only, Fun, []).
{ok,[]}
现在为Fun添加一些东西以获得你想要的东西。