[sql] 치환 변수를 활용한 테이블 조회 방법

칼럼이나 테이블명을 하드코딩하지 않고 치환 변수를 활용하여 동적으로 조회하고자 할 때가 있습니다. 이러한 경우에는 치환 변수를 사용하여 효율적으로 처리할 수 있습니다.

치환 변수란 무엇인가?

치환 변수란 쿼리 실행 전에 값을 할당받는 변수를 말합니다. 이를 사용하면 실행시점에 변수의 값을 동적으로 변경할 수 있습니다.

치환 변수를 활용하여 테이블 조회하기

예를 들어, WHERE 절에서 치환 변수를 사용하여 동적으로 테이블을 조회하는 방법은 다음과 같습니다.

DECLARE @tableName NVARCHAR(50)
SET @tableName = 'Customer'

SELECT * FROM @tableName

위 예제에서는 @tableName이라는 치환 변수를 선언하고, 이 변수에 테이블명을 할당한 후 해당 변수를 활용하여 테이블을 조회하고 있습니다.

치환 변수 사용 시 주의사항

치환 변수를 사용할 때에는 보안상의 이유로 SQL Injection 공격에 취약해질 수 있습니다. 따라서 사용자의 입력이나 외부에서 전달되는 값을 그대로 치환 변수에 할당하여 사용하는 것은 권장되지 않습니다. 보안 측면을 고려하여 치환 변수 사용 시 적절한 검증 및 방어 로직을 추가하는 것이 중요합니다.

마무리

치환 변수를 활용하여 동적으로 테이블을 조회하는 방법에 대해 알아보았습니다. 이를 통해 쿼리를 더 유연하게 작성할 수 있으며, 코드의 재사용성과 유지보수성을 높일 수 있습니다. 하지만 보안을 고려하여 적절한 방어 로직을 추가하는 것을 잊지 말아야 합니다.

SQL 치환 변수 사용 시 주의사항