Skip to content

Commit 8aed1d4

Browse files
committed
Valid SQL 예제 추가
1 parent 54f1da1 commit 8aed1d4

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

appendix/guardrails/sqlvalidation.py

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
from guardrails import Guard
2+
from guardrails.hub import ValidSQL
3+
from rich import print
4+
5+
# ValidSQL 검사기로 Guard 생성 (DB나 스키마 없이 구문만 검증)
6+
guard = Guard().use(
7+
ValidSQL,
8+
on_fail="exception"
9+
)
10+
11+
# 검증할 SQL 문들
12+
queries = [
13+
"SELECT 주소 FROM 전화번호부 WHERE 이름 = '도봉순';",
14+
"SELECT 이름, 휴대폰 FROM 전화번호부 WHERE 주소 LIKE '서울%';",
15+
"SELECT * FROM 전화번호부 WHERE ID = 2;",
16+
# 의도적으로 잘못된 SQL문 추가
17+
"SELEKT 주소 FRUM 전화번호부 WHER 이름 = '도봉순';"
18+
]
19+
20+
# SQL 문 검증
21+
def validate_sql(sql):
22+
try:
23+
guard.validate(sql)
24+
print(f"[green]✅ 성공: {sql}[/green]")
25+
except Exception:
26+
print(f"[red]❌ 실패: {sql}[/red]")
27+
28+
# 모든 쿼리 검증 실행
29+
for query in queries:
30+
validate_sql(query)

0 commit comments

Comments
 (0)