시나리오에서 FlexSQL로 데이터 삭제하기
시나리오에서 FlexSQL로 데이터 삭제하기
이전 강의에서는 FlexSQL 서비스를 활용해 데이터를 수정하는 방법을 살펴봤어요. 이번 강의에서는 저장된 데이터를 삭제하는 방법을 단계별로 소개합니다. 예시로 직장인 소원물류센터의 품목 정보를 삭제하는 관리자용 PC 웹 애플리케이션을 설명할게요.
1단계 : FlexSQL 서비스 연결하기
-
스튜디오에서 Dev 모드로 이동
flexsql/6-6/6-6%20FlexSQL_D.00_00_19_27.%EC%8A%A4%ED%8B%B8%20002.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_00_19_27.%EC%8A%A4%ED%8B%B8%20002.jpg)
2. 시트 컨트롤 속성에서 행 삭제 사용 옵션 활성화
flexsql/6-6/6-6%20FlexSQL_D.00_00_27_16.%EC%8A%A4%ED%8B%B8%20003.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_00_27_16.%EC%8A%A4%ED%8B%B8%20003.jpg)
3. 삭제 버튼에 클릭 이벤트 사용 (이벤트명 : 삭제)
flexsql/6-6/6-6%20FlexSQL_D.00_00_37_27.%EC%8A%A4%ED%8B%B8%20004.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_00_37_27.%EC%8A%A4%ED%8B%B8%20004.jpg)
4. 연결 아이콘 클릭
flexsql/6-6/6-6%20FlexSQL_D.00_00_38_14.%EC%8A%A4%ED%8B%B8%20005.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_00_38_14.%EC%8A%A4%ED%8B%B8%20005.jpg)
5. 서비스 추가
flexsql/6-6/6-6%20FlexSQL_D.00_00_40_25.%EC%8A%A4%ED%8B%B8%20006.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_00_40_25.%EC%8A%A4%ED%8B%B8%20006.jpg)
6. 서비스 종류를 FlexSQL로 선택
flexsql/6-6/6-6%20FlexSQL_D.00_00_44_22.%EC%8A%A4%ED%8B%B8%20007.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_00_44_22.%EC%8A%A4%ED%8B%B8%20007.jpg)
2단계 : FlexSQL 스크립트 생성하기
-
FlexSQL 스크립트를 생성하기 위해 워크스페이스 - 좌측 데이터 메뉴 - FlexSQL 페이지로 이동
-
좌측 하단 새 SQL 서비스 클릭 후 스크립트 명 입력 (스크립트 명 : Delete_WishProduct)
flexsql/6-6/6-6%20FlexSQL_D.00_00_56_15.%EC%8A%A4%ED%8B%B8%20008.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_00_56_15.%EC%8A%A4%ED%8B%B8%20008.jpg)
3. 우측 자동 생성 기능 사용
4. 테이블명 : WishProduct / 유형 : Delete 선택 후 생성
-
- 자동으로 생성된 스크립트에서는 시나리오에서 전달된 첫 번째 보내는 데이터에 접근하고 반복문을 통해 하위 섹터 값들을 기준으로 Delete 구문을 생성합니다.
- 자동으로 생성된 스크립트에서는 시나리오에서 전달된 첫 번째 보내는 데이터에 접근하고 반복문을 통해 하위 섹터 값들을 기준으로 Delete 구문을 생성합니다.
flexsql/6-6/6-6%20FlexSQL_D.00_01_19_28.%EC%8A%A4%ED%8B%B8%20009.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_01_19_28.%EC%8A%A4%ED%8B%B8%20009.jpg)
5. FlexSQL 상단 더보기 버튼 클릭
flexsql/6-6/6-6%20FlexSQL_D.00_01_35_16.%EC%8A%A4%ED%8B%B8%20010.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_01_35_16.%EC%8A%A4%ED%8B%B8%20010.jpg)
6. 새 버전 발행 버튼 선택 - 버전 1로 발행 완료
flexsql/6-6/6-6%20FlexSQL_D.00_01_37_07.%EC%8A%A4%ED%8B%B8%20011.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_01_37_07.%EC%8A%A4%ED%8B%B8%20011.jpg)
3단계 : 시나리오에서 FlexSQL 삭제 스크립트 연결하기
다시 스튜디오로 돌아와 삭제 스크립트를 시나리오에 연결합니다.
-
서비스 - 시스템 정보 - SQL Script Name : Delete_WishProduct / SQL Script Version : 1
flexsql/6-6/6-6%20FlexSQL_D.00_01_49_22.%EC%8A%A4%ED%8B%B8%20012.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_01_49_22.%EC%8A%A4%ED%8B%B8%20012.jpg)
2. 보내는 데이터에 카테고리 설정 (카테고리명 : wish)
flexsql/6-6/6-6%20FlexSQL_D.00_01_55_00.%EC%8A%A4%ED%8B%B8%20013.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_01_55_00.%EC%8A%A4%ED%8B%B8%20013.jpg)
3. 필터 설정 - 필터 사용 활성화 - Status 필터 : Deleted
flexsql/6-6/6-6%20FlexSQL_D.00_02_05_21.%EC%8A%A4%ED%8B%B8%20014.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_02_05_21.%EC%8A%A4%ED%8B%B8%20014.jpg)
4. 받는 데이터 제거
flexsql/6-6/6-6%20FlexSQL_D.00_02_11_12.%EC%8A%A4%ED%8B%B8%20015.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_02_11_12.%EC%8A%A4%ED%8B%B8%20015.jpg)
4단계 : 디버거로 삭제 기능 확인하기
-
시나리오 우측 상단의 화살표 (▶) 클릭하여 디버거 실행
flexsql/6-6/6-6%20FlexSQL_D.00_02_16_22.%EC%8A%A4%ED%8B%B8%20016.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_02_16_22.%EC%8A%A4%ED%8B%B8%20016.jpg)
2. 특정 품목을 우클릭한 후 행 삭제
flexsql/6-6/6-6%20FlexSQL_D.00_02_35_13.%EC%8A%A4%ED%8B%B8%20017.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_02_35_13.%EC%8A%A4%ED%8B%B8%20017.jpg)
3. 시트 컨트롤에서 행이 사라지는지 확인
flexsql/6-6/6-6%20FlexSQL_D.00_02_38_05.%EC%8A%A4%ED%8B%B8%20018.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_02_38_05.%EC%8A%A4%ED%8B%B8%20018.jpg)
4. 우측 하단의 Collection 탭 - Deleted 상태 지정해서 해당되는 섹터 정보 확인
flexsql/6-6/6-6%20FlexSQL_D.00_02_48_19.%EC%8A%A4%ED%8B%B8%20019.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_02_48_19.%EC%8A%A4%ED%8B%B8%20019.jpg)
5. 삭제 버튼 클릭
flexsql/6-6/6-6%20FlexSQL_D.00_02_52_11.%EC%8A%A4%ED%8B%B8%20020.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_02_52_11.%EC%8A%A4%ED%8B%B8%20020.jpg)
6. 우측 로그에서 FlexSQL 서비스 호출 여부 확인
7. 새로 고침 후에도 삭제한 품목이 보이지 않는지 확인
flexsql/6-6/6-6%20FlexSQL_D.00_03_35_24.%EC%8A%A4%ED%8B%B8%20023.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_03_35_24.%EC%8A%A4%ED%8B%B8%20023.jpg)
📌 삭제 시 주의사항 : 섹터 상태(Deleted) 이해하기
플렉스튜디오에서는 시트에서 행을 삭제하더라도 섹터가 즉시 제거되지 않고, 상태만 Deleted로 변경됩니다. 삭제된 섹터를 서비스에서 보내는 데이터로 전달할 수 있도록 하기 위한 구조예요. 따라서 서비스 호출 후 카테고리 탭에서는 삭제된 섹터가 남아 있는 것처럼 보일 수 있습니다. 섹터를 명확하게 삭제하려면 상태 값과 함께 반환하여 병합하는 과정이 필요합니다.
5단계 : 삭제 스크립트 수정하기
-
FlexSQL 페이지 이동 - 기존 스크립트 삭제
flexsql/6-6/6-6%20FlexSQL_D.00_03_55_11.%EC%8A%A4%ED%8B%B8%20024.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_03_55_11.%EC%8A%A4%ED%8B%B8%20024.jpg)
2. 우측 자동 생성 기능 사용
flexsql/6-6/6-6%20FlexSQL_D.00_03_59_13.%EC%8A%A4%ED%8B%B8%20025.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_03_59_13.%EC%8A%A4%ED%8B%B8%20025.jpg)
3. 테이블명 : WishProduct / 유형 : Delete 선택 / 결과값 반영하기 옵션 선택 - SQL 생성
-
- 삭제된 데이터의 상태 값을 ‘D’로 고정하고 마지막에 조회하도록 구성되어 있습니다.
병합을 위해 섹터의 아이디 값인 SUID도 함께 반환합니다.
- 삭제된 데이터의 상태 값을 ‘D’로 고정하고 마지막에 조회하도록 구성되어 있습니다.
flexsql/6-6/6-6%20FlexSQL_D.00_04_21_27.%EC%8A%A4%ED%8B%B8%20027.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_04_21_27.%EC%8A%A4%ED%8B%B8%20027.jpg)
4. FlexSQL 상단 더보기 버튼 클릭
flexsql/6-6/6-6%20FlexSQL_D.00_04_36_03.%EC%8A%A4%ED%8B%B8%20028.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_04_36_03.%EC%8A%A4%ED%8B%B8%20028.jpg)
5. 현재버전으로 변경내역 반영 - 버전 1로 발행 완료
flexsql/6-6/6-6%20FlexSQL_D.00_04_39_25.%EC%8A%A4%ED%8B%B8%20029.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_04_39_25.%EC%8A%A4%ED%8B%B8%20029.jpg)
6단계 : 시나리오 설정 업데이트 및 최종 확인하기
-
수정된 스크립트가 같은 버전으로 반영되어 있으므로 삭제 이벤트에 연결된 SQL Script Version을 그대로 유지
flexsql/6-6/6-6%20FlexSQL_D.00_04_54_23.%EC%8A%A4%ED%8B%B8%20030.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_04_54_23.%EC%8A%A4%ED%8B%B8%20030.jpg)
2. 받는 데이터에 ResultBlock 추가
flexsql/6-6/6-6%20FlexSQL_D.00_05_05_19.%EC%8A%A4%ED%8B%B8%20031.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_05_05_19.%EC%8A%A4%ED%8B%B8%20031.jpg)
3. 카테고리 설정 후 병합 설정 (카테고리명 : wish)
flexsql/6-6/6-6%20FlexSQL_D.00_05_15_06.%EC%8A%A4%ED%8B%B8%20032.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_05_15_06.%EC%8A%A4%ED%8B%B8%20032.jpg)
7단계 : 디버거로 삭제 결과 확인하기
-
시나리오 우측 상단의 화살표 (▶) 클릭하여 디버거 실행
flexsql/6-6/6-6%20FlexSQL_D.00_05_20_12.%EC%8A%A4%ED%8B%B8%20033.jpg?width=960&height=540&name=6-6%20FlexSQL_D.00_05_20_12.%EC%8A%A4%ED%8B%B8%20033.jpg)
2. 품목 정보를 삭제 후 삭제 버튼 클릭
-
-
삭제한 섹터가 카테고리 탭에서도 제거되고 새로 고침 후에도 삭제한 품목이 다시 나타나지 않는 것을 확인할 수 있습니다.
-
다음 강의 : 저장, 조회, 수정, 삭제 통합 처리하기
이번 글에서는 FlexSQL 서비스를 활용해 데이터를 삭제하는 방법을 단계별로 살펴봤어요. 다음 강의에서는 저장, 수정, 삭제 기능을 하나의 흐름으로 통합해 처리하는 방법을 설명할 예정입니다. 데이터 처리 전체 흐름을 완성하고 싶다면, 다음 강의도 꼭 확인해 보세요!