전달 된 매개 변수의 값에 따라 중첩 저장 프로 시저를 호출하는 저장 프로 시저를 작성하고 있습니다.저장 프로 시저의 매개 변수로 쉼표로 구분 된 문자열 전달
하위 프로 시저로 전달하려고하는 매개 변수 중 하나는 쉼표로 구분 된 값의 문자열입니다. 주 절차에서 varchar
을 선언하고 설정하고 있습니다.
내 주요 저장 프로 시저는 다음과 같습니다
는Declare @StatusString varchar(150)
Set @StatusString = N'''OPEN,'',''CLOSED'',''PENDING'''
이 매개 변수로 내 중첩 된 저장 프로 시저에 @Status
문자열 변수를 전달합니다.
그런 다음 내 중첩 된 저장 프로 시저, 그러나
select from table where table.column in (@StatusString)
않습니다 나는 어떤 결과를 얻고 있지 않다. 매개 변수를 올바르게 전달하지 못하고 있거나 Select
문을 올바르게 작성하지 않은 것 같습니다. 내가 뭘 놓치고 있니?
많은 후프를 통과하는 것이 가장 좋습니다. 문자열을 분할하는 단일 제네릭 함수를 작성하는 것은 일회성 비용입니다. 내 제안은 그 옵션과 함께 가서 행 번호를 전달하므로 함수에 의해 생성 된 두 개의 열을 가지게됩니다. – UnhandledExcepSean
또한 컨트롤을 우회하는 것은 거의 모든 작업에서 큰 문제가되지 않습니다. 이러한 컨트롤은 이유가 있습니다. 이 농구를 해결할 수있는 유일한 방법은 문자열 연결을 통한 동적 SQL입니다. – UnhandledExcepSean
심각하게 기능을 만들기위한 많은 작업이 아닙니다. http://stackoverflow.com/questions/13909859/insert-values-into-table-after-splitting-the-string – UnhandledExcepSean