'1500,4444,7777'과 같은 문자열이 필요한 요구 사항이 있습니다. 이것들은 제품의 ID입니다. 이제이 입력을 분할해야합니다. 이미 분할 기능이 있습니다. 루핑을 사용해 보았습니다.분할 입력 매개 변수 및 저장 프로 시저에서 테이블 출력
ID를 분할 한 후 입력 매개 변수에서 보낸 모든 ID에 대해 ProductName과 GUID를 검색해야합니다. 그리고 ProductName의 목록과 SP의 GUID를 웹 메서드에서 사용하기 위해 반환해야합니다.
제품 테이블에는 제품 GUID, 제품 이름 및 제품 ID가 들어 있습니다. 이제 ID를 기반으로 GUID 및 이름을 검색해야합니다.
제품 ID를 나눌 수 있지만 제품 이름을 가져올 수 있지만 제품 이름과 해당 GUID를 목록에 추가하고 보내는 방법이 달라집니다.
지금까지 시도한 SP를 찾으십시오.
CREATE PROCEDURE GetProductNamesByProductNumber
(@productNumberList nvarchar(max))
AS
BEGIN
SET NOCOUNT ON
DECLARE @Err int
DECLARE @pos int
DECLARE @len int
DECLARE @value varchar(8000)
DECLARE @prodName varchar(8000)
DECLARE @prodNames varchar(8000)
SET @productNumberList = @productNumberList + ','
SET @pos = 0
SET @len = 0
WHILE CHARINDEX(',', @productNumberList , @pos + 1) > 0
BEGIN
SET @len = CHARINDEX(',', @productNumberList , @pos + 1) - @pos
SET @value = SUBSTRING(@productNumberList , @pos, @len)
SELECT
@prodName = ProductName FROM Product
WHERE ProductNumber = @value
SET @pos = CHARINDEX(',', @productNumberList , @pos + @len) + 1
IF @prodNames <> ''
SET @prodNames += ',' + @prodName
ELSE
SET @prodNames= @prodName
END
DECLARE @output_table TABLE (
ProductName nvarchar(max)
)
INSERT @output_table
SELECT
*
FROM SplitString(@prodNames, ',')
SELECT * FROM @output_table
SET @Err = @@Error
RETURN @Err
END
GO
같은 목록/테이블을 반환 할 수 있습니다. –