업데이트, 삽입, ? 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 |