반응형 IT테크/DB 썸네일형 리스트형 [DB] 테이블의 컬럼명만 골라서 추출하기 데이터베이스에서 INSERT나 SELECT 시 명시적으로 컬럼명을 지정하여야 하는 경우가 있습니다.특히 INSERT문을 작성할 때는 컬럼명을 일부러 쓰는게 여간 불편한게 아닙니다.그래서 테이블의 컬럼명만 골라서 추출하는 쿼리정보를 공유하고자 합니다. 목차(Contents)--> 컬럼명 추출 용도테이블에 컬럼이 몇 십개씩 있는 경우가 바람직한 케이스는 아닙니다.하지만 필요에 따라 컬럼이 엄청 많은 경우들도 있습니다. SELECT는 필요한 컬럼을 지정하는 것이므로 별 필요가 없지만, INSERT문의 경우 컬럼명을 지정해야 하는 경우가 있습니다.이럴 때 유용하게 사용할 수 있는 쿼리입니다. 예시예시 데이터는 시스템DB 인 msdb의 backupfile 테이블로 해보겠습니다.sp_help를 사용해서 ba.. 더보기 [DB] 스토어드 프로시져(SP) 최종 수정정보 확인방법 데이터베이스를 사용하면서 보안이나 속도상 이슈로 인해 스토어드 프로시져(SP)를 많이 사용합니다.SP를 수정하다보면 마지막 수정이력을 확인할 필요가 있습니다.그럴 때 사용할 수 있는 쿼리입니다. 목차(Contents)--> 사용방법 여러 명이 SP수정하고 사용하다 보면 최종이력 확인이 필요합니다.아래의 쿼리를 사용해도 수정이력 전체를 확인할 수는 없습니다.수정이력을 남기기 위해서는 별도의 로그로 관리해야 합니다. 그래도 최종수정시간 및 내역을 조회 할 수 있어 최소한의 기록은 확인할 수 있습니다. 시스템 정보 조회 시에 많이 사용하는 INFORMATION_SCHEMA.ROUTINES를 이용해서 sp수정시간을 확인할 수 있는 쿼리입니다. SELECT SPECIFIC_CATALOG .. 더보기 [DB] 컬럼명에 숫자 사용하는법 데이터베이스를 사용하다 보면 컬럼명 지정에 제한이 있습니다.컬럼명 맨 앞에 숫자가 온다거나(0~9), 특수문자로 지정할 경우 오류가 나며 테이블 생성이 되지 않습니다.굳이 숫자나 특수문자로 사용할 이유는 없지만 필요할 경우를 위해 방법을 정리합니다. 목차(Contents)--> 오류발생 내용테이블 생성 시 컬럼명을 숫자로 지정하면 다음과 같이 오류메시지가 발생합니다.특수문자로 지정할 경우에도 동일한 오류가 나타납니다.CREATE TABLE TEST_TABLE( Seq INT, Name NVARCHAR(100), 1 INT, 2 INT, 3 INT, Remark NVARCHAR(10.. 더보기 [MSSQL] 컬럼추가, 컬럼삭제, 테이블 데이터 갯수 확인 MSSQL에서 테이블 생성 후 컬럼을 추가하거나 컬럼 설정을 변경(컬럼추가, 삭제)해야 하는 경우가 있습니다.그럴 때 사용할 수 있는 명령어를 정리해 보겠습니다. 목차(Contents)--> 데이터베이스에 있는 테이블의 데이터 갯수는 보통 SELECT문을 사용하는데요.보통 아래와 같이 사용하실 겁니다.SELECT COUNT(0) FROM 테이블명 그런데 하나씩 테이블을 확인하기에는 너무 오래 걸려서..한개의 테이블이 아닌 여러 테이블의 데이터 갯수를 확인하는 쿼리를 추가합니다. 테이블 컬럼 설정 변경테이블 컬럼 추가/삭제/변경-- 컬럼추가ALTER TABLE DeptInfo ADD PhoneNo VARCHAR(20)-- 컬럼 삭제ALTER TABLE DeptInfo DROP COLUMN PhoneNo.. 더보기 [DB]MSSQL SSMS 입력 시 자꾸 다른 문자로 변환될 때(한글 혹은 반자) 목차--> 마이크로소프트 MS-Sql 사용을 위해 쓰는 기본툴인 ssms를 사용하다 보면 키 입력 오류가 자주 발생합니다.주로 피씨 재부팅 잘 안하고 오래 쓰면 많이 발생하는 것 같기는 합니다만 원래 피씨를 켜놓고 출퇴근 하는지라..ㅎㅎ예전에는 자꾸 한글로만 바뀌었는데 요즘에는 이상한 글자(전각, 반각?)로도 바뀌어서 적어 놓습니다. 예전부터 그랬는데 아직도 이러는 걸 보면 마이크로소프트에서는 업데이트 할 생각이 없는 것 같네요.아무래도 SSMS를 오랫동안 종료하지 않으면 발생하는 현상인 것 같습니다. 저의 경험에 따르면 오류가 나는 경우는 크게 두가지 입니다.1. 영문으로 쿼리를 짜고 실행(F5)를 하고 다시 입력 할 때 한글로 입력됨.2. 1번과 비슷한데 반자(?)인지 글자 간격이 크고 영문으로 보이.. 더보기 [MSSQL] 자주 쓰는 단축키 지정, 모음 MSSQL을 사용할 때는 마이크로소프트에서 제공하는 SSMS(Microsoft SQL Server Management Studio)만한 프로그램이 없기 때문이 많은 사람들이 SSMS를 사용합니다. 사용하면 편리할만한 단축키를 정리하고 단축키를 이용해서 쿼리를 지정하는 방법을 정리해 보도록 하겠습니다. 1. 주요 단축키 리스트 단축키 실행 내용 파일열기 CTRL + O 새쿼리창 열기 CTRL + N 등록된 서버창 열기 CTRL + ALT + G 개체탐색기 열기 F8 쿼리 실행 F5 결과창 열기/닫기 CTRL + R 테이블 정보보기 ALT + F1 주석 처리 CTRL + K + C 주석 해제 CTRL + K + U 대문자로 변환 CTRL + Shift + U 소문자로 변환 CTRL + Shift + L 그리.. 더보기 [MS-SQL] 컬럼 합치는 방법 3가지(STUFF, STRING_AGG) 데이터베이스에서 쿼리를 실행하면 결과값은 보통 여러 행으로 나오게 됩니다.컬럼으로 나오면 컬럼끼리 합치는 게 간단하지만 여러 행으로 나온 같은 컬럼을 합치기 위해서는 별도로 처리를 해줘야 합니다.통계페이지 같은 경우 은근히 사용하게 되는 거 같네요.함수를 사용하는 방법도 있고, 반복구문을 돌려서 하는 방법도 있고 해서 정리해 봅니다. 목차(Contents)--> 컬럼을 합치는 방법 예시 데이터 생성먼저 테스트 할 임시테이블과 데이터를 만들겠습니다. 필요없으신 분은 바로 아래로 스크롤 하세요~~ㅋCREATE TABLE #TMP ( Teams NVARCHAR(10), PlayerName NVARCHAR(10), BackNo INT, IsRetire CHAR.. 더보기 [MS-SQL]프로시저, 테이블명 검색 데이터베이스를 사용할 때 프로시저나 테이블 명을 검색해야 하는 경우가 있습니다. 프로시저나 테이블 명 검색하는 쿼리를 정리해 보겠습니다. 프로시저 ID를 확실하게 알고 있다면 SP_HELPTEXT '프로시저 ID' 로 프로시저 내용을 확인할 수 있습니다. 하지만 정확한 명칭을 모를 경우에 검색하는 법을 확인 해보겠습니다. 1. 프로시저 관련 검색방법 프로시저 명칭으로 찾기 SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE = 'PROCEDURE' AND ROUTINE_NAME LIKE N'%프로시저명칭%' 특정 테이블이나 뷰를 참조하는 프로시저 찾기 SELECT object_name(id) from syscomments where text lik.. 더보기 MS-SQL 날짜 형태 변환함수 정리 MS-SQL에서 기본적으로 GETDATE()함수를 이용해서 날짜를 추출하게 됩니다. 그러면 결과값이 “2019-12-06 17:07:50.460”형태로 나오게 됩니다. 하지만 웹에서는 저런형태를 잘 사용하지 않기 때문에 웹에서 사용하는 형태로 변환해 줄 필요가 있습니다. 그래서 자주 사용하지만 잘 까먹는 옵션값을 정리합니다. 명령어 결과값 SELECT CONVERT(VARCHAR, GETDATE(), 23) 2019-12-06 SELECT CONVERT(VARCHAR, GETDATE(), 24) 13:31:02 SELECT CONVERT(VARCHAR, GETDATE(), 101) 12/06/2019 SELECT CONVERT(VARCHAR, GETDATE(), 102) 2019.12.06 SELECT .. 더보기 MS-SQL 날짜함수 형식 변환 MS-SQL에서 기본적으로 GETDATE()함수를 이용해서 날짜를 추출하게 됩니다. 그러면 결과값이 “2019-12-06 17:07:50.460”형태로 나오게 됩니다. 하지만 웹에서는 저런형태를 잘 사용하지 않기 때문에 웹에서 사용하는 형태로 변환해 줄 필요가 있습니다. 그래서 자주 사용하지만 잘 까먹는 옵션값을 정리합니다. 명령어 결과값 SELECT CONVERT(VARCHAR, GETDATE(), 23) 2019-12-06 SELECT CONVERT(VARCHAR, GETDATE(), 24) 13:31:02 SELECT CONVERT(VARCHAR, GETDATE(), 101) 12/06/2019 SELECT CONVERT(VARCHAR, GETDATE(), 102) 2019.12.06 SELECT .. 더보기 이전 1 2 다음 반응형