Mnesia에는 이벤트 기반 알림이 있습니다. mnesia 이벤트를 구독하는 프로세스 (gen_server)를 가질 수 있습니다. 이러한 이벤트는 테이블 이벤트, 시스템 이벤트 및 기타 항목으로 분류됩니다. 사건에 관한 부분에서의 기록물 문서를 읽으십시오. 사실상 mnesia 이벤트 처리기를 사용하여 이벤트를보고하는 프로세스에 대해 가능한 것은 mnesia:report_event(Event)
입니다. mnesia 이벤트에 등록 된 모든 프로세스는이 메시지를 받게됩니다. Mnesia는 구독 프로세스에 대해 테이블의 모든 트랜잭션에 대한 실시간 정보를보고합니다. 트랜잭션을 읽거나 쓰거나 삭제할 수 있으며 해당 루프의 프로세스가 관심이있을 수있는 이벤트 유형과 패턴이 일치 할 수 있습니다. 상세하고 간단한 테이블 이벤트가 있습니다. 개인적으로 이벤트가 매우 유용하다는 것을 알게되었습니다. 문서에서 세부 사항을 얻을 수 있어야합니다.
이벤트 정보 이제는 기억 상실 테이블에 같은 유형의 레코드가 저장됩니다. 이 정보는 mnesia:table_info(Table_name::atom(),attributes)
으로 전화하여 액세스 할 수 있습니다. mnesia 테이블에 인덱스를 적용하면 첫 번째 레코드 필드가 아닌 한 (일반적으로 "기본 키"라고 함) 해당 속성의 모든 필드를 수락합니다. 이러한 인덱스는 테이블 작성시 테이블 작성시 적용 할 때보다 이유의 수. OTHER_NAME, 연령, 성별, FIRST_NAME 및 작업 색인 및 기록 검색을위한 모든 mnesia API를 : 나는 당신의 질문을 이해 한 경우
-record(employee,{id,first_name,other_name,sex,age,job}).
install(Nodes)->
mnesia:create_schema(Nodes),
mnesia:start(),
mnesia:create_table(employee,[{index,[age,sex,first_name,job]},
{attributes,record_info(fields,employee)}]),
mnesia:stop(),
ok.
아래의 코드를 고려, 지금 테이블 직원이 열이 말할 수 있습니다 색인 된 속성에 기반한 작업 예 mnesia:index_read/3 or mnesia:index_match_object/2 or mnesia:index_match_object/4
. 행운을 빌어 요
/[email protected]
많은 감사. 급료별로 정렬하고 이름을 tuple-name으로 사용하려면 add_table_index (staff, {sal, lname, fname})를 사용하십시오. field {sal, lname, fname}? Mnesia는 tupled 테이블 필드와 tupled 인덱스 필드를 허용합니까? 아니면 프로그래밍 방식으로 수동으로 키 필드 데이터를 하나의 키 필드로 순서대로 연결합니다. 이제 키 필드로 사용합니까? 순진하지만 나는이 모든 일에 아주 새로운 것입니다. 나는 일을 기꺼이 시도하고 이러한 대안을 시도해 볼 것이지만, 어떤 도움도 감사 할 것입니다.Joe Pee – user557513
대답은 분명하기 때문에 친절하게도 마지막 질문은 무시하십시오. 감사. – user557513