본문 바로가기

MSSQL27

[MSSQL] 쿼리결과 탭 유지 [MSSQL] 쿼리결과 탭 유지 SQL을 쓰다보면 들여쓰기 탭을 썼는데도 불구하고 다음에 열때 엉망으로 열리는 경우가 있음. 프로시져를 예로 들면 이렇게 열려야 하는데 이렇게 들여쓰기가 이상해지고 흐트러지는 경우 해결방법) Solution) 1. 도구 > 옵션 2. 쿼리 결과 > SQL Server > 표 형태로 결과 표시 or 텍스트로 결과 표시 등 필요한 화면 클릭 > 복사 또는 저장 시 CR/LF 보존 클릭 > 확인 2021. 4. 23.
[MSSQL] index 확인 MSSQL index 확인 방법 sp_helpIndex [테이블명] 실행 결과 2021. 3. 9.
[MSSQL] SQL 합집합, 교칩합, 차집합 구하기 [MSSQL] SQL 합집합, 교칩합, 차집합 구하기 * SELECT되는 컬럼의 갯수는 일치해야함 SELECT [Column1],[Column2],[Column3],[Column4],[Column5]FROM [Table1]WHERE 조건 -- UNION -- 중복을 삭제한 합집합-- UNION ALL -- 중복을 포함한 합집합-- EXCEPT -- 차집합-- INTERSECT -- 교집합 SELECT [Column1],[Column2],[Column3],[Column4],[Column5]FROM [Table2]WHERE 조건 2018. 10. 31.
[Solution]MSSQL 테이블 변경 에러 (테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함) [Solution] MSSQL 테이블 변경 에러 테이블 컬럼 설정 변경 시ex) NOT NULL to Nullable 테이블 컬럼 수정 후 저장 시 아래와 같은 경고 팝업이 뜸 변경 내용을 저장할 수 없습니다. 변경 내용을 적용하려면다음 테이블을 삭제하고 다시 만들어야 합니다. 다시 만들 수 없는 테이블을 변경했거나 [테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함]옵션을 설정했습니다. Solution) 도구 > 옵션 > 디자이너(Designers) > 우측 아래 [테이블을 다시 만들어야 하는 변경 내용 저장 안 함] 체크 해제 2018. 10. 2.
[MSSQL] 프로시저(Stored Procedure)내 문자열 검색 [MSSQL] 프로시저(stored procedure)내 문자열 검색, 문자열 찾기How to find specific text in stored procedure 프로시저내에서 특정 문구를 검색 할 경우 사용 RIGHT WAY) --1) SELECT DISTINCT a.nameFROM sysobjects AS aLEFT JOIN syscomments AS b ON a.id = b.idWHERE a.xtype = 'P'AND b.text LIKE '%[TEXT]%' --2)SELECT OBJECT_NAME(object_id), OBJECT_DEFINITION(object_id) FROM sys.procedures WHERE OBJECT_DEFINITION(object_id) LIKE '%[TEXT]%' .. 2018. 10. 1.
[MSSQL] 사용자 정의 테이블 형식 지정 및 사용 [MSSQL] 사용자 정의 테이블 형식 지정 및 사용 --생성 CREATE 프로그래밍 기능 > 유형 > 사용자정의테이블형식 > CREATE CREATE TYPE [MYTABLETYPE] AS TABLE(column1 int(10),column2 varchar(10))GO -- 삭제 DROP DROP TYPE [MYTABLETYPE] GO -- 사용 USE 프로시저에서 부를 경우 CREATE PROCEDURE sp_AAA@count int,[@변수명] [사용자정의테이블형식] READONLY //READONLY필수AS How to use in procedure CREATE PROCEDURE sp_AAA@count int,[@param] [userType] READONLY //READONLY is mandat.. 2018. 7. 4.
[MSSQL] 인덱스(index) 관련 쿼리 --인덱스 생성 CREATE INDEX [INDEX NAME] ON [TABLE NAME](COLUMN NAME) --인덱스 정보 확인--인덱스명(index_name), 인덱스 설명 (index_description), 인덱스 키(index_keys) EXEC sp_helpindex --인덱스 정보조회 (단편화) DBCC showcontig [TABLE NAME] --인덱스 통계보기 DBCC show_statistics ([TABLE NAME], [INDEX NAME]) *참고Updated : 통계가 최종 업데이트 된 날짜Rows: 총 행수Rows Sampled : 샘플링된 행 수 (통계 정보를 구하기 위해 샘플링된 행 수로 행 수가 많을 경우 샘플링함)Steps : Histogram 단계수(MAX 20.. 2018. 6. 5.
[MSSQL] NUMERIC 선언 방법 [MSSQL] NUMERIC 선언 방법 NUMERIC([최대 자릿수], [소수점 아래 자릿수]) 로 소수점 아래 자리를 선언하지 않아도 실행에는 상관 없으나 받은 값에 소수점 아래 자리가 있을 경우 전체가 표기되지 않음 --SELECT Result : 55000DECLARE @MONEY NUMERIC(10) --SELECT Result : 55000.5--DECLARE @MONEY NUMERIC(10,1) --SELECT Result : 55000.56--DECLARE @MONEY NUMERIC(10,2) --SELECT Result : 55000.568--DECLARE @MONEY NUMERIC(10,3) SET @MONEY = '55000.568'SELECT @MONEY 2018. 5. 28.
[MSSQL] 격리수준 (TRANSACTION ISOLATION LEVEL) 커밋되지 않은 데이터를 읽을 수 있는 수준으로두가지 방법이 존재함. 실제로 UPDATE되지 않고 ROLLBACK될 경우 기존데이터와 다른 값을 SELECT하게 됨 즉, 참조 무결성을 깨뜨릴 수 있다는 단점이 있으나그럴 경우가 극히 드문 경우 자주 사용 -- 1. 해당 SELECT 문장에만 적용 SELECT * FROM [TABLE NAME] WITH (NOLOCK) WHERE ~~~ -- 2. 해당 SESSION에 모두 적용 SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED SELECT ~~~SET ~~~INSERT~~~ 2018. 5. 24.