exec 와 spexecutesql

1157 단어 execute
sqlserver 의 exec 와 spexecutesql 은 동적 sql 구문 과 저장 과정 을 실행 할 수 있 지만 exec 용법 은 비교적 간단 하고 파 라 메 터 를 가 져 올 수 없 으 며 파 라 메 터 를 되 돌려 주지 않 습 니 다.
sp_executesql 은 기능 이 더욱 완벽 해 보이 고 입력 매개 변수 와 출력 매개 변 수 를 사용 할 수 있 습 니 다. 다음 예 는 sp 를 기록 합 니 다.executesql 의 용법.
declare @sql nvarchar(1000),
@oazaName varchar(20),
@cnt int
set @oazaName = 'abc'

set @sql = 'select @count=count(*) from dbo.Aza where oazaName like ''%'' +  @oazaName + ''%'''
print @sql
--   like            '%' + 
--   SQL  :select @count=count(*) from dbo.Aza where oazaName like '%' +  @oazaName + '%'
exec sp_executesql 
--    sql 
@stmt=@sql, 
--    @sql      ,     ,       @params   
@params =N'@oazaName as varchar(20),@count as int output',
--          @params         ,
--                  output   
@oazaName =' ',
@count =@cnt output
--         ,  @cnt     (   C# ref   )
select @cnt

매개 변수 가 있 는 조회 에 대해 서 는 sql 주입 등 공격 을 방지 할 수 있 으 므 로 sp 를 잘 파악 할 필요 가 있 습 니 다.executesql 의 용법.

좋은 웹페이지 즐겨찾기