본문 바로가기
반응형

전체 글557

열로 구성된 값은 한 컬럼으로 받을 때 1 2 3 형태로 된 데이터를 한열, 한행 으로 조회시 -> 1,2,3 DECLARE @TEST NVARCHAR(2000) SELECT @TEST = CONCAT(CD , ',' , @TEST) FROM TEST SET @TEST = LEFT(@TEST, LEN(@TEST) - 1) SELECT @TEST 2015. 7. 27.
저장프로시저 목록 조회 SELECT A.name , A.id , A.crdate , B.[text] FROM SYSOBJECTS A JOIN SYSCOMMENTS B ON A.ID = B.ID WHERE XTYPE = 'P' 2015. 7. 27.
[Tool] 설정 Ctrl + R 등 단추키가 안먹힐 경우 Ctrl + R 등 단추키가 안먹힐 경우 ->도구->옵션->환경->키보드->다시설정 버튼 2015. 7. 27.
MS-SQL 단축키 F5 : 쿼리 실행 CTRL + F5 : 문법 검사 CTRL + SHIFT + DEL : 모두 지우기 CTRL + T : 실행결과 텍스트 형태로 보기 CTRL + D : 실행결과 표 형태로 보기 CTRL + R : 결과를 없애고 질의만 볼 수 있다. CTRL+SHIFT+F2 : 책갈피: 모든 책갈피 지우기 CTRL+F2 : 책갈피: 책갈피를 삽입하거나 제거(토글) F2 : 책갈피: 다음 책갈피로 이동 SHIFT+F2 : 책갈피: 이전 책갈피로 이동 ALT+BREAK : 쿼리 취소 CTRL+O : 연결: 연결 CTRL+F4 : 연결: 연결 끊기 CTRL+F4 : 연결: 연결 끊기 및 하위 창 닫기 ALT+F1 : 데이터베이스 개체 정보 CTRL+SHIFT+DEL : 편집: 활성 편집기 창 지우기 CTRL+.. 2015. 7. 27.
페이지 쿼리 DECLARE @PageNumber AS INT , @RowsPage AS INT SET @PageNumber = 3 SET @RowsPage = 5 SELECT * FROM TABLE_NAME ORDER BY COLUMN_Name ASC OFFSET((@PageNumber - 1) * @RowsPage) ROWS FETCH NEXT @RowsPage ROWS ONLY 관련 URL http://social.technet.microsoft.com/wiki/contents/articles/23811.paging-a-query-with-sql-server.aspx 2015. 7. 27.
DB 용량 줄이기 ALTER DATABASE table_name SET RECOVERY SIMPLE DBCC SHRINKFILE(table_name, 10) tempdb는 줄이려면 SQL 서비스 재시작 tempdb 줄이는 방법 이하 참조. http://dbadiaries.com/how-to-shrink-tempdb There may come a time when you might want to shrink tempdb because it has become too large. There are a few ways you can do this and I have listed them below but please read to the end of the post before making a decision on which .. 2015. 7. 27.
Migration Tip insert into 로 마이그레이션시 SELECT에 의해서 tempdb에 임시로 데이터를 저장한다. 그래서 용량은 많이 차지 한다. 하지만 select into를 사용하면 바로 집어넣기 때문에 별로의 temp공간이 필요하지 않는다. 입력시간도 많이 차이나면 2배까지 차이간다. 하지만, 스키마까지는 들어가지 못한다. 2015. 7. 27.
마이그레이션 대용량 sqlbulkcopy http://www.sqlteam.com/article/use-sqlbulkcopy-to-quickly-load-data-from-your-client-to-sql-server The .NET Framework 2.0 introduces a very handy new class in the System.Data.SqlClient namespace called SqlBulkCopy that makes it very easy and efficient to copy large amounts of data from your .NET applications to a SQL Server database. You can even use this class to write a short .NET application .. 2015. 7. 27.
[ERROR] 메시지 8152, 수준 16, 상태 13 문자열이나 2진데이터는 짤림니다. 컬럼 사이즈보다 긴 데이터가 들어오면 짤린다. 짤려도 넣고 싶을 때는 아래 명령어를 사용하면 된다. SET ANSI_WARNINGS OFF 2015. 7. 27.
Database 이름이 다른 곳으로 bak 파일 복원 할 때(DB생성후->복원 CREATE DATABASE [POS] ON PRIMARY ( NAME = N'POS', FILENAME = N'C:\경로\POS.mdf' , SIZE = 5120KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) LOG ON ( NAME = N'POS_log', FILENAME = N'C:\경로\POS_log.ldf' , SIZE = 1024KB , MAXSIZE = 2048GB , FILEGROWTH = 10%) GO RESTORE DATABASE databaseName FROM DISK = 'D:\경로\파일명.BAK' WITH REPLACE, RECOVERY, MOVE '논리db명' TO 'D:\경로\파일명.MDF' MOVE '논리로그명' TO 'D;\경로\파일명... 2015. 7. 27.
테이블 정보 조회 DECLARE @TABLE_NAME nvarchar(100) SET @TABLE_NAME = 'Board' --테이블 컬럼 정보 SELECT ORDINAL_POSITION , COLUMN_NAME , ISNULL(( SELECT P.VALUE FROM :: FN_LISTEXTENDEDPROPERTY(NULL, 'SCHEMA', 'DBO', 'TABLE', TABLE_NAME, DEFAULT, DEFAULT)p), '') , DATA_TYPE , CHARACTER_MAXIMUM_LENGTH , IS_NULLABLE , COLUMN_DEFAULT , ISNULL(( SELECT VALUE FROM :: FN_LISTEXTENDEDPROPERTY(NULL, 'SCHEMA', 'DBO', 'TABLE', TAB.. 2015. 7. 27.
CONVERT 날짜 포맷 정의 SELECT CONVERT(VARCHAR(10), GETDATE(), 100) --07 7 2015 , CONVERT(VARCHAR(10), GETDATE(), 101) --07/07/2015 , CONVERT(VARCHAR(10), GETDATE(), 102) --2015.07.07 , CONVERT(VARCHAR(10), GETDATE(), 103) --07/07/2015 , CONVERT(VARCHAR(10), GETDATE(), 104) --07.07.2015 , CONVERT(VARCHAR(10), GETDATE(), 105) --07-07-2015 , CONVERT(VARCHAR(10), GETDATE(), 106) --07 07 2015 , CONVERT(VARCHAR(10), GETDATE.. 2015. 7. 27.
FORMAT 날짜, 문자, 숫자, 전화번호 포맷 정의 SELECT , FORMAT(1234568, 'C') --$12,345.68 , FORMAT(1234568, 'C5') --$12,345.67890 , FORMAT(1234568, 'C', 'en-US') --$12,345.68 , FORMAT(012.30, '###.##') -- 12.3 , FORMAT(1234567890, '(###)###-####') -- (123)456-7890 , FORMAT(1234567890, '#,#') -- 1,234,567,890 , FORMAT(1234567890, '#,##0,,') -- 1,235 , FORMAT(GETDATE(), 'f') --Sunday, April 28, 2013 4:54 PM , FORMAT(GETDATE(), 'f', 'de-DE') --.. 2015. 7. 27.
컬럼 비교쿼리 샘플(소스비교 같이) TFS같이 소스 비교할 때 사용할 수 있는 쿼리문 WITH KEY_TBL AS ( SELECT DISTINCT tblKey FROM TESTAA ) , S_TBL AS ( SELECT a.tblKey AS oriKey , b.tblKey , b.tblVersion , b.tblText FROM KEY_TBL a LEFT OUTER JOIN TESTAA b ON a.tblKey = b.tblKey AND b.tblVersion = 1 ) , T_TBL AS ( SELECT a.tblKey AS oriKey , b.tblKey , b.tblVersion , b.tblText FROM KEY_TBL a LEFT OUTER JOIN TESTAA b ON a.tblKey = b.tblKey AND b.tblVer.. 2015. 7. 27.
DataSet으로 된 데이터를 통으로 SP로 보내기 그리드나 엑셀 문서등을 DB에 저장할 때 한건 한건 저장이 아닌 데이터넷 통으로 DB로 보낼 때 --호출(코드) public DataSet ExcelValidateAndSave(DataTable dtImport) { parameters.AddWithValue("DATA_SET", SqlDbType.Structured, dtImport); } --쿼리 ALTER PROCEDURE [dbo].[DataSetSendTest_I] ( @DATA_SET AS dbo.DATA_SET_TEST READONLY ,@USER_ID NVARCHAR(50) ) AS --작업(일괄 Insert, 비교후 Insert 등) --데이터 형 CREATE TYPE [dbo].[DATA_SET_TEST] AS TABLE( [Test1].. 2015. 7. 27.
Cursor 커서 사용 예시 DECLARE @a VARCHAR(50) , @b NVARCHAR(30) , @c NVARCHAR(30) , @d NVARCHAR(30) --커서 생성 DECLARE CURS CURSOR FOR SELECT a , b , c , d FROM #TEMP_EXCEL --반복시작 OPEN CURS FETCH NEXT FROM CURS INTO @a, @b, @c, @d WHILE @@FETCH_STATUS=0 BEGIN --실행문 IF @INOUT_GB '' BEGIN SET @STD_ITEM_NO = '' UPDATE #TEMP_EXCEL SET a = @a WHERE a = @a AND b = @b AND c = @c AND d = @d END --실행문 FETCH NEXT FROM CUR.. 2015. 7. 27.
재귀 쿼리로 트리 목록 한줄에 출력 레벨1>레벨2>레벨3> 트리형태로 구성된 데이터를 네비게이션처럼 계층 아래로 내려가면 현재 어떤 카테고리에서 어떤 카테고리로 이동했는지 보여줄 때 사용한다. 예) level1 ㄴ level1-1 ㄴ level1-2 ㄴ level1-2-1 ㄴ level1-2-2 ㄴ level1-2-3 ㄴ level1-3 leve2 ㄴ level2-1 ㄴ level2-2 ㄴ level2-3 level1 > level1-2 > level1-2-3 테이블 설명 CodeName : 코드 HighCode : 상위 부모 코드 WITH Tree AS ( SELECT Code , CodeName , HighCode , CONVERT(nvarchar(200), Code) AS Codes , CONVERT(nvarchar(200), CodeName) AS Cod.. 2015. 7. 27.
반응형