728x90
반응형

1. SEQ 파라미터 값을 받아

2. TABLE_TBLCOL 테이블 컬럼중 지정 항목명을 LIST를 조회하여

3. 이 항목명으로 구성되는 쿼리문을 만들고

4. 만들어진 쿼리를 실행한다.

 

/****** Object:  StoredProcedure [dbo].[SEL_EDC_PROBE_LOTID_MAP]    Script Date: 04/08/2010 15:35:44 ******/
/*SET ANSI_NULLS 옵션이 ON인 경우, WHERE column_name = NULL을 사용하는 SELECT 문은 column_name에 Null 값이 있을 때도 0행을 반환합니다. WHERE column_name <> NULL을 사용하는 SELECT 문은 column_name에 Null이 아닌 값이 있을 때도 0행을 반환합니다.*/
SET ANSI_NULLS ON
GO
/*
SET QUOTED_IDENTIFIER 옵션을 ON으로 설정하면 식별자를 큰따옴표로 구분할 수 있으며,
리터럴은 작은따옴표로 구분해야 합니다.
SET QUOTED_IDENTIFIER 옵션을 OFF로 설정하면 식별자에 따옴표를 사용할 수 없으며
모든 Transact-SQL 식별자 규칙을 따라야 합니다.
리터럴은 작은따옴표 또는 큰따옴표로 구분할 수 있습니다.
*/
SET QUOTED_IDENTIFIER ON
GO

-- =============================================
-- Author:  
-- Create date: 2010-03-29
-- Description: [UP_PROCEDURE]
-- =============================================
CREATE PROCEDURE [dbo].[UP_PROCEDURE]
 @SEQ VARCHAR(20)
AS
--[SEL_EDC_PROBE_LOTID_MAP] '5'
declare @SQLSTMT VARCHAR(8000)
declare @COLNAME1 VARCHAR(50)
declare @COLNAME2 VARCHAR(50)
declare @COLNAME VARCHAR(50)
declare @ITEMNAME VARCHAR(50)


declare INSPDATA_CUR CURSOR FOR

SELECT COLNAME,ITEMNAME FROM TABLE_TBLCOL
WHERE EQGRID = 'A28'
AND ITEMNAME  IN ('X', 'Y', 'VF1', 'VF2', 'VF3', 'IR', 'WD1', 'WD2', 'WH1', 'WH2', 'IV1', 'IV2', 'IV3', 'VR1')
ORDER BY COLNAME

SET @SQLSTMT = ''

OPEN INSPDATA_CUR

FETCH NEXT FROM INSPDATA_CUR
  INTO @COLNAME1, @COLNAME2
  SET @SQLSTMT = @COLNAME1 + ' AS ' + @COLNAME2 + ', '

WHILE @@FETCH_STATUS = 0
BEGIN
  FETCH NEXT FROM INSPDATA_CUR
  INTO @COLNAME,@ITEMNAME
  SET @SQLSTMT = @SQLSTMT + @COLNAME + ' AS ' + @ITEMNAME + ', '
END
  --PRINT @SQLSTMT
 
IF LEN(@SQLSTMT) <> 0 
BEGIN

SET @SQLSTMT = SUBSTRING(@SQLSTMT, 1,LEN(@SQLSTMT)-1)
SET @SQLSTMT = 'SELECT ' + @SQLSTMT + ' FROM [TABLE_DTL] WITH(NOLOCK) WHERE SEQ = ' + @SEQ
  + ' ORDER BY CONVERT(BIGINT,VAL001),CONVERT(BIGINT,VAL002) '
 
  --PRINT @SQLSTMT
exec (@SQLSTMT)

END

CLOSE INSPDATA_CUR
DEALLOCATE INSPDATA_CUR   

728x90
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,