반응형

DB/MS-SQL 20

[MS-SQL] 테이블을 다시 만들어야 하는 변경 내용 저장 사용 안함 해결방법

테이블을 다시 만들어야 하는 변경 내용 저장 사용 안함MS-SQL 2005 버전부터 새로이 추가된 기능으로 파악됩니다. 테이블을 만든 이후에 필요에 의해서 테이블 스키마를 수정을 하려고 하면 "테이블을 다시 만들어야 하는 내용 저장 사용 안함" 옵션을 설정했다고 삭제하고 다시 만들라고 합니다. 그렇다고 매 번 테이블을 삭제하고 다시 만들 수는 없는 노릇입니다. 테이블을 다시 만들어야 하는 경우테이블의 중간에 새 열 추가열 삭제열의 Null 허용 여부 변경열의 순서 변경열의 데이터 형식 변경 해결방법위치 : 도구 - 옵션 - 디자이너 - 테이블 및 데이터베이스 디자이너 테이블을 다시 만들어야 하는 변경 내용 저장 안 함의 체크를 해제한 후 확인 버튼을 누르시면 됩니다. 참고MSDN : 옵션(디자이너/테이블..

DB/MS-SQL 2015.05.12

[MS-SQL] 트리거 검색

● MS-SQL에서 트리거(trigger) 리스트 확인 방법 -> 트리거가 설정된 해당 DB를 선택 후 -> SELECT * FROM sysobjects WHERE type = 'TR' ● 트리거 생성 구문 확인 -> sp_helptext 트리거명 ※ 단, 트리거 생성 시 WITH ENCRYPTION 옵션을 사용한 경우에는 구문이 암호화되어 내용 확인이 불가능하다는 군요... ※ 참고로 트리거는 select, insert, update 등의 쿼리 실행시, 해당 내용 외 추가적인 작업을 실행시키고자 할 때, 특정 테이블 또는 뷰에 설정하는 실행루틴입니다. 출처 : http://bann34.tistory.com/9

DB/MS-SQL 2013.05.31

"0으로 나누기 오류가 발생했습니다" 해결 방법

MS-SQL 을 사용하면서 특히 집계 또는 매출과 관련된 쿼리를 짜다보면 "0으로 나누기 오류" 가 빈번히(?) 발생합니다. CASE문으로 해결을 할 수 있겠지만 가독성도 떨어지고 쿼리 짜는게 여간 짜증나는 일이 아닙니다. 우선 CASE 문으로 해결을 해볼까요. 이제는 새로운 방법으로 해결해 봅시다. SET ANSI_WARNINGS OFF;SET ARITHIGNORE ON;SET ARITHABORT OFF;

DB/MS-SQL 2013.04.23

[MS-SQL] 테이블 및 프로시저 소유자 변경하기

DB 작업을 하다보면 테이블이나 프로시저의 소유자를 변경해야 할 일이 생긴다. 자주 생기는 일은 아니지만 이런 것도 있구나 하고 알아두고 넘어가면 좋을 것 같아. 혹시 필요할지 모르니~ 테이블 소유자 변경 select 'EXEC sp_changeobjectowner ''이전사용자.' + name + ''', ''변경할사용자''' from sysobjects where xtype = 'U' U=테이블 V=뷰 P=프로시져

DB/MS-SQL 2013.03.21

[MS-SQL] 대소문자 구분하기

기본적으로 mssql 은 테이블을 만들 때 따로 설정하지 않으면 대소문자를 구분하지 않는다. 'ABCDE' 와 'abcde'는 같은 것으로 구분한다. 비밀번호 같은 경우는 대소문자가 당연히 구분되어야 하는데 저렇게 되면 구분이 되지 않아 곤란하다. 여기서는 테이블을 생성 후 특정 컬럼만 대소문자 구분하도록 설정하는 것에 대해 알아본다. [해당 테이블의 컬럼 타입 확인하기] select convert(varchar,name) as name, convert(varchar,collation) as collation from syscolumns where id=object_id('테이블명') [해당 테이블의 특정 컬럼을 대소문자 구분하기] alter table 테이블명 alter column userpw var..

DB/MS-SQL 2012.09.05

[MS-SQL] 문자열에서 숫자만 리턴하는 함수

-- ============================================= -- Author : marsland@hanmail.net -- Create date: 2011-11-11 -- Description: 문자열에서 숫자만 리턴한다. -- ============================================= CREATE FUNCTION [dbo].[fn_ExtractNumber] ( @in_valueVARCHAR(MAX) ) RETURNS @TAB_RETURN TABLE ( ItemVARCHAR(MAX) ) AS BEGIN DECLARE @cnt INT; SET @cnt = 1; DECLARE @buffer VARCHAR(MAX); SET @buffer = ''; WHILE..

DB/MS-SQL 2011.11.11

CTE 사용시 앵커부분과 재귀 부분 간의 유형이 일치하지 않다고 할 떄

트리구조를 위해서 CTE를 사용할 때 (나는 카테고리를 사용하려고 한다) 상위 카테고리 명을 나타내주려고 한다. 그럴려면 아래와 같은 그림처럼 해야 한다. 하지만 앵커 부분과 재귀 부분 간의 유형이 일치하지 않는다고 한다. 이는 형변환을 해줌으로써 간단하게 해결된다. 이것 또한 알고나니 너무 뿌듯하고 자신감 충전되네!

DB/MS-SQL 2010.07.20

MSSQL CTE 재귀, 트리구조 쿼리구현

http://blog.jhfrk.net/339 재귀적 CTE 구조 (SQL Server 2005 온라인 설명서) 의사 코드 및 의미 체계 재귀적 CTE 구조에는 앵커 멤버와 재귀 멤버가 적어도 하나씩 포함되어야 합니다. 다음 의사 코드에서는 단일 앵커 멤버와 단일 재귀 멤버가 포함된 간단한 재귀적 CTE의 구성 요소를 보여 줍니다. WITH cte_name ( column_name [,...n] ) AS ( CTE_query_definition –- Anchor member is defined. UNION ALL CTE_query_definition –- Recursive member is defined referencing cte_name. ) -- Statement using the CTE SELEC..

DB/MS-SQL 2010.07.20
반응형