2016-07-19 2 views
0

필드의 모든 값을 X로 원래 값과 동일한 길이로 바꾸는 SQL 프로 시저를 만들었습니다. 난 그냥 실행 대신 저장 프로 시저에게 내가 새 필드를 통과 할 때마다 편집에 대한 매개 변수로 테이블과 필드 이름을 전달 할 수 있도록 실행시 SQL 저장 프로 시저, 전달 필드 및 테이블 이름 매개 변수

Update Table 
Set  Name = Replicate('x', Len(Name)) 

나는이 절차를 변경하려합니다. 이것을 할 수있는 방법이 있습니까?

내가 실행 문이 내가 원하는 때 같이해야한다고 생각 무엇에 다른 필드의 값을 X :

Exec MyProcedure ‘Users’, ‘Email’ 
+0

동적 SQL을 사용하는 저장 프로 시저에서이 작업을 수행 할 수 있지만 위험합니다. 보다 안전하고 안정적인 옵션을 제안 할 수 있도록 여기서 실제로하려는 것을 설명하고 싶을 수도 있습니다. – RBarryYoung

+0

답장을 보내 주셔서 감사합니다. 맞습니다. 이와 같은 절차는 위험하지만 테스트 DB에서만 실행되며이 작업을 보장하는 체크가 내장되어 있습니다. 동적 SQL로 어떻게이 작업을 수행 할 수 있습니까? – Cat4Storm

답변

0
당신은이 같은 SQL 문을 실행하기 위해 EXEC를 사용할 수 있습니다

: EXEC를 (@sqlCommand) . SqlCommand는받은 매개 변수를 기반으로 작성한 문자열입니다.

또 다른 옵션은 sp_executesql을 사용하여 문을 실행하는 것입니다.

관련 문제