728x90
반응형

msSQL 16

MSSQL Cursor 사용법

DECLARE 커서이름 CURSOR FOR -- 커서 선언해서 커서에 가져올 실행문 -- 커서에 가져올 실행문 실행 OPEN 커서이름 FETCH NEXT FROM 커서이름 -- 처음에 커서가 0번 을 가리키고 있어서 1번행 가르키도록 다음것을 가져옴 INTO 실행문에서 가져온 변수 -- 커서 실행문에서 사용할 변수 가져오기 WHILE @@FETCH_STATUS=0 BEGIN -- FETCH문이 정상적으로 실행될동안 while문으로 돌림 처리할 실행문(insert or update) -- 반복될동안 처리될 실행문 FETCH NEXT FROM 커서이름 -- 커서 다음것 가져옴 INTO 실행문에서 가져온 변수 END -- 반복문의 마지막 CLOSE 커서이름 -- 커서 닫기 DEALLOCATE 커서이름 -- 커..

MS-SQL SQL Server 2020.03.09

MSSQL 재귀호출 사용법

WITH 임시테이블 AS ( 실제 사용쿼리 UNION ALL 재귀돌릴 쿼리 INNER JOIN 임시테이블 ) SELECT * FROM 임시테이블 => 임시테이블을 다시 재귀를 돌리면서 그 임시테이블에 데이터를 계속 넣는 작업을 함 예시) WITH TBL_TEMP (parent, code, name, level,is_view ,seq_path) AS ( SELECT parent ,code, name, 1 as level,is_view , CONVERT(NVARCHAR (MAX), parent) + '/' + CONVERT(NVARCHAR (MAX), sort) + '/' + CONVERT( NVARCHAR(MAX), code) seq_path FROM TBL_AA WHERE code like '%' UNI..

MS-SQL SQL Server 2020.03.09

MSSQL 피벗 예시

MSSQL에서 테이블의 행과 열을 돌리기 위해 피벗을 사용한다. DECLARE @month varchar(2000) SET @month = '[1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12]' -- 세로로 출력되는 데이터를 가로로 출력하기위해 사용될 필드 DECLARE @SQL varchar(max) SET @SQL = ' SELECT fact_nbr, fact_nme, ' + @month + ' -- 출력할 필드 원래대로 넣고 피벗 사용할 필드를 []로 싸서 넣는다 FROM ( SELECT group_month, fact_nbr, fact_nme, oee_per FROM #TEMP ) T -- 어떤값(group_month)에 있는 값들을 필드에 넣고 그 안에 어..

MS-SQL SQL Server 2020.03.09

MSSQL 테이블 정보 뽑아내기

테이블의 테이블 정보를 가져오기위해 TABLE_NAME 대신에 원하는 테이블 명을 입력하면 된다 SELECT A.NAME TABLE_NAME, B.COLUMN_NAME, B.DATA_TYPE, ISNULL(CONVERT(VARCHAR(100), B.CHARACTER_MAXIMUM_LENGTH), '') CHARACTER_MAXIMUM_LENGTH, B.IS_NULLABLE FROM SYS.TABLES A -- 테이블 LEFT OUTER JOIN INFORMATION_SCHEMA.COLUMNS B -- 컬럼 ON A.NAME = B.TABLE_NAME LEFT OUTER JOIN SYSINDEXES C ON A.OBJECT_ID = C.ID AND C.INDID

MS-SQL SQL Server 2020.03.09
728x90
반응형