2017-12-27 5 views
1

SQLite에 last_insert_rowid() 함수가 있습니다. 유사한 기능을 만들고 싶습니다만, 인덱스 배열을 가져오고 싶습니다. 각 인덱스는 insert 나 update로부터옵니다. 명확하게하기 위해, 나는 (이름이 고유)이 같은 인구 테이블이 :JavaScript를 사용하여 SQLite 삽입 또는 업데이트에서 여러 rowid를 검색하십시오.

rowid name age 

1  'John' 18 

2  'Anne' 25 

3  'Jack' 32 

그런 다음 삽입 또는 업데이트 몇 줄이 있습니다 ('John',19), ('Michael',33), ('Jenny',12)

결과가 될 것입니다 :

rowid name  age 

1  'John' 19 

2  'Anne' 25 

3  'Jack' 32 

4  'Michael' 33 

5  'Jenny' 12 

삽입 및 업데이트 된 rowids는 다음과 같습니다. 1,4,5

어떻게 색인을 검색 할 수 있습니까? JS 응답은 어쨌든 다른 언어로도 이해해야한다고 생각합니다.

답변

0

두 개의 트리거를 사용하여 해결했습니다. 논리 흐름은 다음과 같습니다.

  1. 임시 테이블 temp_table을 만듭니다. 주 테이블의 복제본입니다.
  2. 삽입 트리거 tr_insert를 만듭니다. 이 트리거는 주 테이블에 삽입을 확인하고 temp_table에 새 행을 복사합니다.
  3. 포인트 2와 유사하지만 업데이트를 위해 작동하는 업데이트 트리거 tr_update를 만듭니다.
  4. 모든 삽입/업데이트 후에는 행이 삽입/업데이트 된 temp_table을 분석하는 함수를 호출하십시오.
  5. 사용 후 temp_table에서 delete를 호출해야 함
관련 문제