다른 저장 프로 시저 내에서 저장 프로 시저에 텍스트를 추가하는 방법을 알고있는 사람이 있습니까? SQL Server 2005에서 다음과 같은 작업을 수행하려고합니다.매개 변수를 통해 SQL Server 2005에서 저장 프로 시저에 텍스트를 파싱하고 추가하는 방법
Declare str as Nvarchar(Max) = ''
set @spStr = dbo.spTest + 'Where testCol1 = ''Test'''
exec(@spStr)
SQL 주입 공격에 대한 일부 논의가있을 수 있음을 이해했습니다. 위의 방식으로 where 절을 동적으로 전달하여 저장 프로 시저를 확장하기 위해 구문이 존재하지 않는지 확인하기 만하면됩니다.
나는 지난 제안을 좋아하지만 아래 답변과 같습니다. – Kyle
IF OBJECT_ID ('tempdb .. # tmp')가 NULL이 아님 테이블 삭제 #tmp; CREATE TABLE의 #tmp (COL1 VARCHAR (10)) EXEC 판 sptest 가 NVARCHAR로 @spstr 선언 (COL1) INSERT #tmp의 (최대) 세트 @spStr = '#tmp에서 선택 * 여기서 COL1 ='1 ' ' exec (@spStr) – Kyle