DB/Mssql

· DB/Mssql
텍스트 형식의 실행계획 SET STATISTICS PROFILE ON --OFF ---------------------------------------------------------------------------------------------------- 입출력 정보 SET STATISTICS IO ON --OFF -------------------------------------------------------------------------------------------------- 테이블 'EMP'. 검색 수 1, 논리적 읽기 수 7, 물리적 읽기 수 0, 미리 읽기 수 0, LOB 논리적 읽기 수 0, LOB 물리적 읽기 수 0, LOB 미리 읽기 수 0. 테이블 'DEPT'. 검색 수 1..
· DB/Mssql
exec sp_configure 'show advanced options', 1 GO RECONFIGURE GO EXEC sp_configure 'Ad Hoc Distributed Queries', 1 GO RECONFIGURE GO SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:\excelDataFile.xlsx;', 'SELECT * FROM [Sheet1$]');
· DB/Mssql
SELECT A.TABLE_SCHEMA AS [ 스키마 ] ,A.TABLE_NAME AS [ 테이블명 ] ,A.COLUMN_NAME AS [ 컬럼명 ] ,B.COLUMNDESCRIPTION AS [ 컬럼 설명 ] ,A.ORDINAL_POSITION AS [ 순서 ] ,A.DATA_TYPE AS [ 데이터 타입 ] ,CASE WHEN A.CHARACTER_MAXIMUM_LENGTH IS NULL THEN ISNULL(A.NUMERIC_PRECISION, '') ELSE A.CHARACTER_MAXIMUM_LENGTH END AS [ 길이 ] ,A.IS_NULLABLE AS [ NULL 여부 ] ,ISNULL(A.COLUMN_DEFAULT, '') AS [ 디폴트 값 ] FROM INFORMATION_SCH..
· DB/Mssql
--1. 주석추가 (ADD) --테이블 EXEC SP_ADDEXTENDEDPROPERTY 'MS_DESCRIPTION', '테이블설명', 'USER', DBO, 'TABLE',테이블명 --컬럼 EXEC SP_ADDEXTENDEDPROPERTY 'MS_DESCRIPTION', '컬럼설명', 'USER', DBO, 'TABLE', 테이블명, 'COLUMN', 컬럼명 --2. 주석수정 (UPDATE) --테이블 EXEC SP_UPDATEEXTENDEDPROPERTY 'MS_DESCRIPTION', '테이블설명', 'USER', DBO, 'TABLE',테이블명 --컬럼 EXEC SP_UPDATEEXTENDEDPROPERTY 'MS_DESCRIPTION', '컬럼설명', 'USER', DBO, 'TABLE', 테..
· DB/Mssql
--테이블 코멘트 조회 SELECT OBJTYPE, OBJNAME, NAME, VALUE FROM ::FN_LISTEXTENDEDPROPERTY (NULL, 'SCHEMA', 'DBO', 'TABLE', '테이블명', DEFAULT, DEFAULT); --컬럼 코멘트 조회 SELECT OBJTYPE, OBJNAME, NAME, VALUE FROM ::FN_LISTEXTENDEDPROPERTY(NULL, 'SCHEMA', 'DBO', 'TABLE', '테이블명', 'COLUMN', DEFAULT); --테이블 정보 조회 쿼리 SELECT A.TABLE_NAME, C.VALUE AS TABLE_COMMENT, A.COLUMN_NAME, A.DATA_TYPE, ISNULL(CAST(A.CHARACTER_MAX..
· DB/Mssql
USE TEMPDB; --테이블 생성 CREATE TABLE TEST( NO INT IDENTITY(1,1) NOT NULL, --IDENTITY(시작값, 증가값) NAME VARCHAR(256) NULL ) --데이터 저장 INSERT INTO TEST(NAME) VALUES('테스트') --INSERT된 현재 증가값 조회 SELECT @@IDENTITY AS '증가값 확인' --명시적으로 증가값을 지정해서 INSERT하고자 할때 --SET IDENTITY_INSERT [테이블명] ON; SET IDENTITY_INSERT TEST ON; INSERT INTO TEST(NO,NAME) VALUES(100,'JAMES'); --INSERT된 현재 증가값 조회 SELECT @@IDENTITY AS '증가값..
· DB/Mssql
세기 포함 안함(yy)세기 포함(yyyy)표준입력/출력**-0 또는 100 (*)기본값mon dd yyyy hh:miAM(또는 PM)1101USAmm/dd/yy2102ANSIyy.mm.dd3103영국/프랑스dd/mm/yy4104독일dd.mm.yy5105이탈리아dd-mm-yy6106-dd mon yy7107-Mon dd, yy8108-hh:mm:ss-9 또는 109 (*)기본값 + 밀리초mon dd yyyy hh:mi:ss:mmmAM(또는 PM)10110USAmm-dd-yy11111일본yy/mm/dd12112ISOyymmdd-13 또는 113 (*)유럽 기본값 + 밀리초dd mon yyyy hh:mm:ss:mmm(24h)14114-hh:mi:ss:mmm(24h)-20 또는 120 (*)ODBC 표준yyyy..
· DB/Mssql
SELECT TOP 100 (A.TOTAL_WORKER_TIME/A.EXECUTION_COUNT) AS [AVG_CPU_TIME] , CONVERT(VARCHAR, LAST_EXECUTION_TIME) AS 'LAST_EXECUTION_TIME', TOTAL_PHYSICAL_READS, SUBSTRING(B.TEXT, A.STATEMENT_START_OFFSET/2,(CASE WHEN A.STATEMENT_END_OFFSET = -1 THEN LEN(CONVERT(NVARCHAR(MAX), B.TEXT)) *2 ELSE A.STATEMENT_END_OFFSET END - A.STATEMENT_START_OFFSET)/2) AS QUERY_TEXT , DBNAME = UPPER(DB_NAME(B.DBID)..
· DB/Mssql
- 복사한 데이터를 넣을 테이블이 존재하지 않을 경우 (테이블 생성 + 테이블 복사) 1. CREATE TABLES [대상 테이블명] SELECT * FROM [원본 테이블명] 2. SELECT * INTO [생성될 테이블명] FROM [원본 테이블명] 3. SELECT * INTO [생성될 테이블명] FROM [원본 테이블명] WHERE '1' = '2' --데이터 없이 테이블 구조만 복사 4. SELECT * INTO [생성될 테이블명] FROM [원본 테이블명] WHERE '1' = '1' --데이터까지 복사 5. INSERT INTO [대상 데이터베이스명].[대상 테이블명] SELECT * FROM [원본 데이터베이스명].[원본 테이블명] --다른 DB간의 테이블 복사
· DB/Mssql
WITH TB AS( SELECT 1 SEQ , '사과' AS ITEM UNION ALL SELECT 1 SEQ , '포도' AS ITEM UNION ALL SELECT 2 SEQ , '바나나' AS ITEM UNION ALL SELECT 2 SEQ , '망고' AS ITEM UNION ALL SELECT 3 SEQ , '복숭아' AS ITEM ) SELECT DISTINCT A.SEQ , STUFF(( SELECT ',' + CONVERT(VARCHAR(50), B.ITEM) FROM TB AS B WHERE A.SEQ = B.SEQ FOR XML PATH('') ), 1, 1, '') AS ITEM FROM TB AS A --------------------------------------------..
· DB/Mssql
쿼리를 작성하다보면 서로 다른 테이블끼리 조인걸어 업데이트 할 경우 아래와 같은 메세지를 보게된다. UPDATE EMP SET COMM = 99 FROM EMP A JOIN DBO.EMP S ON A.EMPNO = S.EMPNO AND S.COMM IS NULL; ------------------------------------------- MESSAGE ------------------------------------------ 메시지 8154, 수준 16, 상태 1, 줄 1 테이블 'EMP'이(가) 불확실합니다. 위와 같은 경우 아래와 같이 쿼리를 Alias를 지정하여 업데이트 할 수 있다. UPDATE A
· DB/Mssql
SET문설명및사용법. SET ANSI_NULL_DFLT_OFF : 데이터베이스의 ANSI Null 기본값 옵션이 true로 설정되어 있으면 세션의 동작을 변경하여 새 열의 기본 Null 허용 여부보다 우선 적용됩니다. SET ANSI_NULL_DFLT_ON : 데이터베이스의 ANSI Null 기본값 옵션이 false로 설정되어 있으면 세션의 동작을 수정하여 새 열의 기본 Null 허용 여부보다 우선 적용됩니다. SET ANSI_PADDING : 열이 정의된 열 크기보다 짧은 값을 저장하는 방법과 char, varchar, binary 및 varbinary 데이터에 후행 공백이 있는 값을 저장하는 방법을 제어합니다. SET ANSI_WARNINGS : ON으로 설정한 경우 SUM, AVG, MAX, MIN..
· DB/Mssql
1. 사용자 정의 데이터 형식(가장 높음) 2. sql_varian t 3. xml 4. datetimeoffset 5. datetime2 6. datetime 7. smalldatetime 8. date 9. time 10. float 11. real 12. decimal 13. money 14. smallmoney 15. bigint 16. int 17. smallint 18. tinyint 19. bit 20. ntext 21. text 22. image 23. timestamp 24. uniqueidentifier 25. nvarchar(nvarchar(max) 포함) 26. nchar 27. varchar(varchar(max) 포함) 28. char 29. varbinary(varbinary(..
728x90
반응형
공손(gongson)
'DB/Mssql' 카테고리의 글 목록