The curse and blessings of dynamic SQL
원본출처 : http://www.algonet.se/~sommar/dynamic_sql.html
이글은 SQL 서버에서 dynamic SQL 을 어떻게 사용할것인가에 관한 글로서 SQL Server MVP 를 받은 바 있는 Erland Sommarskog 가 적은 글을 번역한 것이다.
만약 여러분들이 Microsoft SQL Server 에 관한 뉴스 그룹들을 보다 보면, 여러분들은 가끔 사람들이 왜 다음과 같은 Qiery 를 사용할수 없는가 하고 묻는 것을 볼수 있을 것이다.
SELECT * FROM @tablename
SELECT @colname FROM tbl
SELECT * FROM tbl WHERE x IN (@list)
많은 경우 사람들은 "dynamic SQL 을 사용하라" 고 말하며, 어떻게 그것을 사용하는지에 대한 간단한 예를 보여 준다. 그러나 그들은 dynamic SQL 의 pitfalls 에 관해 말하는 것을 잊고 있는 것이다.
이 글에서 나는 MS SQL 서버에서 stored procedure 상에서 dynamic SQL 의 사용법에 대해서 논하고자 한다. 그리고, 조심스럽게만 사용한다면 이것이 아주 강력한 성능을 보여 준다는 것을 설명할 것이다. 나는 그와 같은 사양들을 설명하기 전에 우리과 왜 stored procedures 를 사용해야 하는 가에 대해 강조하고자 한다. 나는 sotred procedures 의 장점과 dynamic SQL 의 효과 사이에 서로 상충되는 점이 있다는 것을 말하고자 한다. Dynamic SQL 을 사용할 경우 발생하는 일반적인 문제점은 두가지 분야가 있다. 나는 몇가지 경우에서
|