본문 바로가기

프로그래밍

MSSQL PIVOT 동적으로 수행하기 프로그램을 개발하다보면 행(세로) 데이터를 열(가로)로 나열시켜 보여야하는 경우가 있다. 이때 PIVOT을 사용하면 행데이터를 열로 나열시켜 보일 수 있다. 우리는 품목/매출월/매출액 형식으로 되어있는 테이블을 품목 / 201901 / 201902 / ... / 201904 의 형태로 PIVOT처리하여 테이블을 보이도록 할 것이다. 아래에 설명할 내용을 천천히 따라가면서 PIVOT을 어떻게 처리하는지 확인해 보도록 한다. PIVOT하는 과정을 간단한 매출(SALE) 테이블을 통해 설명하도록 하겠고, 순서는 아래와 같다. PIVOT 순서 1. 매출 테이블생성 2. 매출 데이터 삽입 3. PIVOT 형태로 변경 3-1) 임시테이블(#TEMP_TABLE)에 변경 전 테이블을 SELECT.. INTO하여 저장... 더보기
MSSQL 함수 작성법 MSSQL에서는 함수를 사용할 수 있는 기능을 제공하고 있다. 함수의 종류는 시스템함수와 사용자 정의함수로 나뉘어 진다. 정확하게 말하자면, 우리는 여기에서 사용자 정의함수를 작성하는 방법에 대해 설명할것인데, 그 전에 시스템 함수는 무엇인지 설명하고 넘어가도록 하겠다. 시스템함수는? 시스템함수는 MSSQL에서 제공하여 바로 사용할 수 있는 함수이다. (개념은 사용자정의함수와 마찬가지인데, 개발자가 직접 정의하여 만들어 사용하는 함수가 사용자 정의 함수라고 보면 이해하기 쉽다.) 시스템함수종류로는 집계함수, 구성함수, 커서함수, 날짜 및 시간함수 등 다양하게 제공되어지고 있고 대표적으로Avg(), Max() 등 다양한부분으로 존재하니, 사용자 정의 함수를 만들기 전 검색을 통해 비슷한 기능을 하는 함수를.. 더보기
MSSQL 저장프로시저(StoredProcedure) 작성법 MSSQL을 사용하다 보면 흔히 접할 수 있는것 중의 하나가 바로 저장프로시저(Stored Procedure)이다. 저장프로시저는 개발자가 자주 쓰는 쿼리문을 하나의 집합단위로 관리하는것을 말한다. 프로그램과 DB를 연결하여 데이터를 관리(데이터조회, 삽입, 수정, 삭제) 하는 수단은 반복되는 작업이므로 DB테이블 1개당 저장프로시저를 보통 (C,R,U,D) 4개의 프로시저를 생성하여 관리한다. 본론으로 돌아와서, 저장프로시저를 작성하는 방법에 대해 설명하도록 하겠다. 저장프로시저(StoredProcedure) 작성 예시 USE [DataBase이름] GO CREATE PROCEDURE [dbo].[프로지서이름] --@P_PARAMETER1VARCHAR(10)-- 파라미터가 필요한경우, 추가해야한다. A.. 더보기
MSSQL 커서(CURSOR) 사용법 MSSQL에서는 커서라는것이 존재하는데, 테이블의 데이터를 커서에 담고, 한개의 행단위로 읽어주는 기능을 한다. 이름 (NAME) 나이 (AGE) 성별 (SEX) 박지성 36 남자 이영표 38 남자 손흥민 28 남자 기성용 32 남자 위와 같은 데이터 테이블이 존재 한다면, 정방향으로 읽었을 때 박지성->이영표->손흥민->기성용 순서로 데이터테이블의 행 정보를 읽어낼 수 있다. 독자의 경우에는, 반복적인 배치작업을 할때 주로 사용한다. 그렇다면 사용방법에 대해 설명하도록 하겠다. 1. 대상 테이블생성 및 데이터삽입 (이 부분은 대상 테이블이 없을때만 해당) 2. 커서에 DB테이블 담기 및 반복작업 수행 1. 대상 테이블 생성 및 데이터삽입 DB테이블 생성 CREATE TABLE SOCCER_PLAYER .. 더보기
C#으로 크롤링 하기 - 다음사이트 자동로그인 기능 오늘은 C#을 이용하여 다음포털사이트에 자동으로 로그인하는 기능을 만들어 보도록 하겠다. 잘만 활용하면 크롤링이나 스크랩핑을 통해서 웹브라우저를 조작하여 대량의 데이터를 수집할 수 있다. 과정에 대해 간단히 설명하고, 작업과정을 보여주도록 하겠다. 1. 비쥬얼스튜디오 윈도우폼 프로젝트 생성 2. Nuget Package를 이용하여 셀레니움(Selenium) 설치 3. 셀레니움을 이용하여 크롬 브라우저 동작 1. 비쥬얼 스튜디오 Windows Forms Application 생성 daumAutoLogin이라는 프로젝트를 생성하였다. 폼안에 간단히 로그인 버튼과 크롬 브라우저가 작동하는 로그를 남길 수 있는 TextBox를 디자인 하였다. 2. Nuget Package를 이용하여 셀레니움(Selenium) .. 더보기
[MS-SQL] CRUD 자동 스크립트 작성 내용 공유 해당 SQL스크립트는 MSSQL 저장프로시저를 자동으로 생성하는데 도움을 주는 프로시저이다. 프로그램을 개발하면서 가장 기본이되는 작업은 데이터를 읽고, 입력하고, 수정하고, 삭제하는 작업이다. 프로그램을 개발하다보면, 반복적으로 CRUD SQL문을 작성하는 경우가 많다. 시간을 어느정도 절약 할 수 있도록 공유된 프로시저를 이용하면 기본 SELECT, INSERT, UPDATE, DELETE 문을 만들어주기에 개발속도 및 개발 효율성을 증가 시킬 수 있다. (물론 초보자라면 직접 타이핑하는게 좋겠지만, 프로시저에 대한 완벽한 이해가 되어있으면 사용하는게 좋을듯 함.) 사용방법에 대해 간단히 소개한다. 물론 SqlServerManagementStudio에서 사용을 하는 것이며, 사용을 하기 위한 데이터베.. 더보기
윈도우 서버 MSSQL 외부접속 설정하기 1. 개발환경 해당 포스팅은 다음과 같은 기본 전제를 가진다. OS : WINDOWS SERVER 2016 서버의 인터넷 연결 환경 인터넷회선 - 공유기(IPTIME) - 서버 PC 기업용 회선은 공인IP가 고정IP인 반면, 일반 가정용 인터넷 회선의 경우 공인IP가 유동 IP로 할당되어진다고 한다. (내가 알기론 그렇다고 하는데, 만약 아니거나 잘못된 점이 있다면 지적해주시길 바랍니다.) 이 포스팅은 위와 같이 일반 가정집 인터넷 회선을 통해서 MS-SQL 서버를 구축하는 내용이니 잘 참고 하시길 바란다. 유동 IP를 고정IP 처럼 사용하기 위해서는 iptime 공유기의 DDNS기능을 활용하면 된다. (아이피타임 공유기에서 기능을 제공하여야함) 1. 특수기능 -> DDNS 설정에서 DDNS를 등록하여 .. 더보기
C# SqLite 사용하기 - 3편 현재 글을 보기전에 1편과 2편을 보지 않았다면 아래링크를 통해서 이전 글을 보고 오길바란다. 2019/06/20 - [프로그래밍/C#] - C# SQLite 사용하기 - 1편 C# SQLite 사용하기 - 1편 가끔씩 C#을 이용하여 프로그램을 만들 때 간단한 DB를 사용해야 하는 경우가 생긴다. MSSQL Express버전을 사용하기엔 너무 무겁고, 개인적으로 Access를 이용한 MDB를 선호하지 않는다.. 이럴 때 Sqlite를 사용.. maelife.tistory.com 2019/06/23 - [프로그래밍/C#] - C# SQLite 사용하기 - 2편 C# SQLite 사용하기 - 2편 2. SQLite3.exe 실행파일 다운로드 이전 기본 셋팅하는 글을 보지 않고 넘어 왔다면, 이전글 참조 후.. 더보기
C# SQLite 사용하기 - 2편 2. SQLite3.exe 실행파일 다운로드 이전 기본 셋팅하는 글을 보지 않고 넘어 왔다면, 이전글 참조 후 다음 글로 넘어 오시길 바랍니다. 2019/06/20 - [프로그래밍/C#] - C# SQLite 사용하기 - 1편 SQLite3.exe를 받는 이유는 Command창으로 데이터베이스 파일을 생성하고 관리할 수 있기 때문에, 다운을 받는것이다. 요기 링크에서 다운로드 받으면 되니 아래 사이트에 가서 다운로드를 받도록 한다. https://www.sqlite.org/download.html SQLite Download Page Templates (1) and (2) are used for source-code products. Template (1) is used for generic source.. 더보기
C# SQLite 사용하기 - 1편 가끔씩 C#을 이용하여 프로그램을 만들 때 간단한 DB를 사용해야 하는 경우가 생긴다. MSSQL Express버전을 사용하기엔 너무 무겁고, 개인적으로 Access를 이용한 MDB를 선호하지 않는다.. 이럴 때 Sqlite를 사용하면 쉽고 간단하게 파일 DB를 사용할 수 있다. 그렇다면 Sqlite를 사용하는법에 대해 알아보도록 한다. 1. SQLite3 다운로드 Sqlite를 사용하기 위해 다운로드를 하고 설치를 하는 방법은 두 가지 방법이 있다. 1) http://system.data.sqlite.org NugetPackageManager -> Package Manager Console을 선택하면, 아래와 같이 콘솔 창이 하나 열린다. 콘솔 창에 다음과 같은 명령어를 입력하여 Nuget패키지를 이용.. 더보기