MSSQL PROC ARRAY
DB/MySQL 2012. 12. 11. 18:01MSSQL 에서는 배열을 처리할 수 없습니다.
따라서 다음과 같은 방식으로 우회하여 처리하는 방법이 있습니다.
client 에서 comma 로 구분된 자료를 Stored Procedure 로 보내면
이 SP 에서는 콤마로 구분된 자료들을 하나씩 분리하여 원하는
기능에 넣어 사용하게 되는 방법입니다. 참조되시길...
CREATE PROCEDURE pro_array @DATA VARCHAR(1000)
AS
BEGIN
/*
- 최대 1000 자리수의 값을 받습니다. 이 길이는 조정 가능
- 콤마로 구분된 PK항목값 들을 UPDATE 구분에서 활용하는 예제입니다.
*/
WHILE CHARINDEX(',',@DATA)<>0
BEGIN
UPDATE 테이블명 SET 항목명 = '선택' WHERE PK항목명 = SUBSTRING(@DATA,1,CHARINDEX(',',@DATA)-1)
SET @DATA=SUBSTRING(@DATA,CHARINDEX(',',@DATA)+1,LEN(@DATA))
IF CHARINDEX(',',@DATA)=0
BEGIN
UPDATE 테이블명 SET 항목명 = '선택' WHERE PK항목명 = SUBSTRING(@DATA,1,LEN(@DATA))
END
END
END
--> 사용법 : EXEC pro_array '1001,1004,1102,1999,9999'
[출처] mssql Stored Procedure에서 배열 사용하는 트릭|작성자 시골사람
'DB > MySQL' 카테고리의 다른 글
MySQL root 패스워드 분실 (0) | 2015.05.21 |
---|---|
MSSQL 문자열 구분자 분리 (테이블 반환 함수) (0) | 2012.12.11 |
MySQL 프로세스 리스트 보기 (0) | 2011.04.22 |
mysql_insert_id (0) | 2010.10.27 |
문자 함수(RIGHT, LEFT, SUBSTRING_INDEX, SUBSTRING, UPPER, REVERSE, LTRIM, LENGTH) (0) | 2010.10.27 |