1
매개 변수를 기반으로 Reporting Services에서 쿼리를 변경할 수 있습니까?SQL Reporting Services의 매개 변수를 기반으로 쿼리를 편집하십시오.
나는 쿼리 내에서 테이블 이름을 tableName2 (예를 들어)로 즉시 변경할 수 있기를 원합니다.
매개 변수를 기반으로 Reporting Services에서 쿼리를 변경할 수 있습니까?SQL Reporting Services의 매개 변수를 기반으로 쿼리를 편집하십시오.
나는 쿼리 내에서 테이블 이름을 tableName2 (예를 들어)로 즉시 변경할 수 있기를 원합니다.
당신이 그것을 할 수있는 방법은 두 가지가 있습니다
에 따라 사이를 전환 1의 경우 다음과 같이하면됩니다.
if @param = 'value'
select Col1, Col2 from Table1
else
select Col1, Col2 from Table2
2의 경우 다음과 같이합니다.
declare @sql nvarchar(4000)
select @sql = 'select Col1, Col2 from' + (case when @param = 'value' then 'Table1' else 'Table2' end)
sp_executesql @sql
경고 : 옵션 1가 가능한 경우 옵션 2를 매우 조심, 그것은 동적으로 항상 위험한 일이다 사용자가 제공 한 값에 따라 SQL을 구성, 안전한 옵션입니다. 이 특정 예제에서는 SQL에서 직접 매개 변수를 사용하지 않지만 그렇게 작성한 것은 매우 쉽기 때문에이를 악용하는 방법을 찾기가 매우 쉽습니다.