We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 54f1da1 commit 8aed1d4Copy full SHA for 8aed1d4
appendix/guardrails/sqlvalidation.py
@@ -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