데이터베이스/SQL Server
동적 SQL 문 (sp_executesql) 사용하기
발가락
2008. 4. 25. 18:06
728x90
동적 SQL 은
한 예로 asp, php 등과 같은 서버 스크립트에서 SQL문을 만들 때, 테이블 명이나 필드명을 변수 처리 해서 SQL 문을 유연하게 만든 것과 같습니다.
실제로 테스트를 해 보겠습니다.
pubs DB를 이용한 테스트 : 변수가 하나일 때
pubs DB를 이용한 테스트 : 변수가 두개일 때
한 예로 asp, php 등과 같은 서버 스크립트에서 SQL문을 만들 때, 테이블 명이나 필드명을 변수 처리 해서 SQL 문을 유연하게 만든 것과 같습니다.
| 여러 번 사용할 수 있거나, 동적으로 만들어진 Transact-SQL문 또는 일괄 처리를 실행합니다. Transact-SQL문 또는 일괄 처리는 포함 매개 변수를 포함할 수 있습니다. 구문 sp_executesql [@stmt =] stmt[ |
실제로 테스트를 해 보겠습니다.
pubs DB를 이용한 테스트 : 변수가 하나일 때
| execute sp_executesql N'select * from pubs.dbo.employee where job_lvl = @level', N'@level tinyint', @level = 35 |
pubs DB를 이용한 테스트 : 변수가 두개일 때
| DECLARE @IntVariable INT, @IntVariable2 INT DECLARE @SQLString NVARCHAR(500) DECLARE @ParmDefinition NVARCHAR(500) SET @SQLString = N'SELECT * FROM pubs.dbo.employee WHERE job_lvl = @level and job_id = @job_id' SET @ParmDefinition = N'@level tinyint, @job_id smallint' SET @IntVariable = 35 SET @IntVariable2 = 14 EXECUTE sp_executesql @SQLString, @ParmDefinition, @level = @IntVariable, @job_id = @IntVariable2 |