자연어로 SQL 생성
AI Assistant가 현재 Connection의 스키마를 확인해 자연어 질문을 SQL로 바꾸고, 해당 Connection·Database·Schema에 저장된 실행 정책에 따라 실행 여부를 결정합니다.
사용 방법
프로젝트 화면에서 AI Chat을 열어 사용합니다. SQL이 포함된 응답이 완료되면 AI SQL Editor가 자동으로 활성화될 수 있습니다.
AI Assistant 열기
프로젝트 오른쪽의 AI 버튼을 누르거나 Ctrl/Cmd+I를 누릅니다.
Key와 DB 선택
상단에서 Provider Key, Connection과 Database·Schema를 확인합니다.
자연어 질문 전송
원하는 데이터와 조건을 자연어로 입력하고 Enter 또는 전송 버튼을 누릅니다. Shift+Enter는 줄바꿈입니다.
설명과 SQL 검토
응답은 설명과 SQL 블록으로 나뉘어 표시됩니다. Chat의 SQL 블록에서는 SQL을 복사할 수 있으며, 실행은 AI SQL Editor에서 합니다.
실행 결과 확인
실행 상태, 반환 행 또는 영향 행, 재실행 이력은 AI SQL Editor에서 확인합니다.
Connection 컨텍스트
AI는 선택한 DBMS와 Database·Schema를 기본 컨텍스트로 사용해 SQL을 작성합니다. 필요하면 메타데이터와 제한된 실제 DB 값을 조회할 수 있으며, 실제 접근 범위는 Connection의 DB 계정 권한에 따릅니다.
- Key: 요청에 사용할 Provider Key와 모델
- Connection: SQL을 작성하고 실행할 데이터베이스 연결
- Database·Schema: 테이블과 컬럼을 조회할 기본 범위
- 필요한 경우 테이블·뷰, 컬럼, 키, 인덱스, 관계와 제약조건을 자동으로 확인
참고: 첫 메시지를 보내 세션이 시작되면 Key와 DB 컨텍스트가 고정됩니다. 다른 Connection이나 Schema를 사용하려면 새 세션을 만든 뒤 다시 선택하세요.
답변 생성 중 DB 조회
AI는 정확한 답변을 만들기 위해 메타데이터 도구와 읽기 전용 SELECT 도구를 사용할 수 있습니다.
- 메타데이터 조회: 테이블·뷰, 컬럼, 키, 인덱스, 관계와 제약조건을 확인합니다.
- 내부 SELECT: 한 번에 최대 10행을 30초 안에 조회하며 DML·DDL은 실행하지 않습니다.
- 도구 승인 정책이 ‘항상 허용’이면 내부 SELECT를 바로 수행하고, ‘승인 필요’이면 Chat의 승인 카드에서 사용자가 허용할 때까지 요청을 대기합니다.
- 조회 결과는 프로젝트의 민감 컬럼 마스킹 정책에 따라 Provider 전달 전에 마스킹됩니다. 정책과 분류 결과에 따라 원본 값이 전달될 수 있습니다.
참고: 내부 SELECT는 답변 생성에 쓰이는 제한 조회입니다. 최종 응답에 생성된 SQL의 실행 여부는 아래의 스키마별 SQL 실행 정책이 별도로 결정합니다.
스키마별 실행 정책
프로젝트 Owner는 헤더의 AI 설정에서 Connection·Database·Schema별로 SELECT, DML, DDL의 실행 방식을 각각 정할 수 있습니다. 새 조합의 기본값은 SELECT 자동 실행, DML·DDL 실행 전 확인입니다.
| SQL 유형 | 기본값 | 설정 가능한 값 |
|---|---|---|
| SELECT | 자동 실행 대상 | 자동 실행 / 실행 전 확인 |
| DML | 실행 전 확인 | 자동 실행 / 실행 전 확인 |
| DDL | 실행 전 확인 | 자동 실행 / 실행 전 확인 |

주의: 자동 실행은 응답이 완료될 때 실행 후보를 바로 처리하고, 실행 전 확인은 사용자가 Run을 누른 뒤 확인 모달에서 승인해야 처리합니다. 분류할 수 없는 SQL(UNKNOWN)은 실행하지 않으며, 서버에서 Test DB로 표시되지 않은 Connection의 DML·DDL은 정책과 관계없이 확인이 필요합니다. Connection 보호, 읽기 전용 정책과 DDL 권한에 따라 확인이 추가되거나 실행이 차단될 수 있습니다. 설정 변경은 이미 생성된 SQL을 소급 실행하지 않습니다.
자동·수동 실행 모두 새 연결에서 Auto Commit으로 처리합니다. 여러 문장은 각각 평가해 순서대로 실행하므로 앞 문장이 실패해도 뒤의 허용된 문장이 실행될 수 있고, 이미 반영된 변경은 되돌리지 않습니다. 일반 SQL Editor의 Commit·Rollback은 이 실행에 적용되지 않습니다.
AI SQL Editor
Chat은 설명과 SQL을 보여주고, 실행 상태와 결과는 AI SQL Editor가 관리합니다.
- AI가 반환한 SQL마다 생성된 SQL Query Block이 만들어집니다.
- 자동 실행과 수동 실행의 상태 및 실행 이력을 선택해 볼 수 있습니다.
- SELECT 반환 행, DML 영향 행, 오류와 결과 생략 여부를 확인할 수 있습니다.
- 동일한 Query Block을 다시 실행해 새로운 실행 이력을 남길 수 있습니다.
- Query Block은 읽기 전용입니다. SQL을 수정하려면 복사해 일반 SQL Editor에서 편집하세요.
- 실행 이력은 현재 앱 실행 중에만 유지되며 저장된 Chat을 다시 열어도 복원되지 않습니다.
참고: 한 실행의 반환 결과는 최대 10,000행이며, 응답 크기나 긴 셀 값 제한에 따라 일부 데이터가 생략될 수 있습니다. JDBC 결과가 여러 개면 첫 번째 결과만 표시합니다.
질문 예시
목표, 기간, 필터와 원하는 출력 컬럼을 함께 적으면 더 정확한 SQL을 얻을 수 있습니다.
| 목표 | 질문 예시 |
|---|---|
| 집계 | 지난 6개월의 월별 주문 금액 합계와 전월 대비 증감률을 보여줘. |
| 관계 조회 | 최근 30일 동안 주문하지 않은 활성 회원의 ID, 이름, 마지막 주문일을 보여줘. |
| 데이터 변경 | 만료일이 지난 임시 쿠폰을 비활성 상태로 변경하는 UPDATE 문을 만들어줘. 예상 영향 범위와 WHERE 조건도 설명해줘. |
테이블명이나 업무 용어를 알고 있다면 질문에 함께 적으세요. ‘실행하지 마’ 같은 프롬프트 문구는 실행 제어 수단이 아닙니다. 데이터 변경 SQL을 직접 검토하려면 프로젝트 Owner가 해당 스키마의 DML 정책을 ‘실행 전 확인’으로 설정했는지 확인하고, 실행 전 WHERE 조건과 예상 영향 범위를 반드시 검토하세요.
