업데이트, 삽입, ? DBEXECUTE의 문자

이 항목에서는 DBEXECUTE의 업데이트 및 삽입 동작과 ? 문자의 사용에 대해 설명합니다.

ID와 이름이라는 두 개의 열이 있는 Items라는 빈 SQL 테이블이 있다고 가정해 보겠습니다. ID는 기본 키입니다.

보호되지 않는 셀에 다음 수식이 있습니다.

=DBEXECUTE("configdb", "SELECT items.id,items.name FROM items WHERE ID=1","INSERT into items (ID,Name) VALUES (1,?)")

뷰 모드에서 셀에 1을 지정하고 Enter 키를 누릅니다.

테이블이 비어 있고 값 1인 ID가 실행되고 있지 않기 때문에 Insert 문이 실행됩니다. Insert 문은 테이블에 다음 행을 만듭니다.

행 번호 ID 이름
1 1 1

1을 입력하면 ID가 지정됩니다. ? 문자를 사용하면 이 값이 이름 열에 입력됩니다.

이제 셀에 2를 지정합니다. ID 1이 있기 때문에 Insert 문이 실행되지 않습니다. 대신 ID 1이 포함된 행이 다음 테이블과 같이 업데이트됩니다.

행 번호 ID 이름
1 2 1

Insert 문이 실행되지 않기 때문에 이름 열이 업데이트되지 않습니다.

이제 셀에 3을 지정합니다. ID 1이 없기 때문에 Insert 문이 실행되고 새 행이 추가됩니다.

행 번호 ID 이름
1 1 3
2 2 1

1과 3 값은 수식의 VALUES (1,?) 부분에서 나온 결과입니다.

이제 4를 지정하면 ID 1이 다시 표시되고 ID 1이 포함된 행이 업데이트됩니다.

행 번호 ID 이름
1 2 1
2 4 3

5를 지정하면 추가 행이 추가됩니다.

행 번호 ID 이름
1 1 5
2 2 1
3 4 3