EXEC sp_helptext 트리거명;


'DB > MSSQL' 카테고리의 다른 글

초간단 트리거 문법  (0) 2016.08.24
테이블 명세서 쿼리문  (0) 2014.09.23
0을 나누기 에러 대신 null 반환되도록 하기  (0) 2014.09.19
숫자 앞에 0으로 채우기  (0) 2014.09.04
SELECT UPDATE 구문  (0) 2014.04.17

DROP TRIGGER [트리거명]  -- 트리거 삭제


CREATE TRIGGER [트리거명] ON [테이블명]

AFTER INSERT,UPDATE,DELETE -- FOR INSERT,UPDATE,DELETE 와 같음

AS

BEGIN

DECLARE @action char(1) -- 구분자 변수선언

DECLARE @test nvarchar(20)  -- 셀렉트한 데이터 저장용 변수 선언


IF COLUMNS_UPDATED() > 0 -- insert or update

BEGIN

IF EXISTS (SELECT * FROM DELETED) -- update

SET @action = 'U'

ELSE

SET @action = 'I'

END

ELSE -- delete

BEGIN

SET @action = 'D'

END


SELECT Name,@action FROM DELETED;


-- 변수에 값넣기 - 첫번째. 데이터 주입

SELECT @test = 0


-- 변수에 값넣기 - 두번째. 타 테이블에서 불러오기

SELECT @test = col1 FROM table1


-- 변수에 값넣기 - 세번째. INSERT 혹은 UPDATE 한 데이터에서 가져오기

SELECT @test = col2

FROM inserted


-- IF문

IF @test = 0 BEGIN -- IF 조건이 참일때

SELECT 1 -- 조건 걸어넣고 쿼리문 없으면 에러나므로 방지용

END ELSE IF @test > 0 AND @test < 10 BEGIN -- ELSE IF 조건이 참일때

SELECT 1

END ELSE BEGIN -- ELSE 일때

SELECT 1

END

-- null 비교

-- @test is null, @test is not null


END

참고: http://rocabilly.tistory.com/48

'DB > MSSQL' 카테고리의 다른 글

트리거 소스보기  (0) 2016.10.31
테이블 명세서 쿼리문  (0) 2014.09.23
0을 나누기 에러 대신 null 반환되도록 하기  (0) 2014.09.19
숫자 앞에 0으로 채우기  (0) 2014.09.04
SELECT UPDATE 구문  (0) 2014.04.17
use [DB명];

SELECT a.TABLE_NAME, a.COLUMN_NAME, '' as description, 
		case when a.CHARACTER_MAXIMUM_LENGTH IS null then a.DATA_TYPE else a.DATA_TYPE + '(' + ltrim(str(a.CHARACTER_MAXIMUM_LENGTH)) + ')' end as DATATYPE, 
        case when a.column_name=isnull(b.column_name,'') and c.constraint_type='PRIMARY KEY' then 'Y' else ' ' end as PK,
        case when a.column_name=isnull(b.column_name,'') and c.constraint_type='FOREIGN KEY' then 'Y' else ' ' end as FK,
        case when a.IS_NULLABLE='YES' then 'Y' else '' end as NOT_NULL,
        case when a.COLUMN_DEFAULT=isnull(a.COLUMN_DEFAULT,'') then a.COLUMN_DEFAULT else ' ' end as DefaultValue
FROM INFORMATION_SCHEMA.COLUMNS  a
LEFT JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE  b on (a.table_name+a.column_name=b.table_name+b.column_name)
LEFT JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS c on (b.constraint_name=c.constraint_name)
ORDER BY a.TABLE_NAME, a.ORDINAL_POSITION;

'DB > MSSQL' 카테고리의 다른 글

트리거 소스보기  (0) 2016.10.31
초간단 트리거 문법  (0) 2016.08.24
0을 나누기 에러 대신 null 반환되도록 하기  (0) 2014.09.19
숫자 앞에 0으로 채우기  (0) 2014.09.04
SELECT UPDATE 구문  (0) 2014.04.17

설정하는 방법


SET ANSI_WARNINGS OFF;
SET ARITHIGNORE ON;
SET ARITHABORT OFF;


아래는 msdn에 올라온 각각의 옵션에 대한 설명


ANSI_WARNINGS : http://msdn.microsoft.com/ko-kr/library/ms190368.aspx

ARITHIGNORE : http://msdn.microsoft.com/ko-kr/library/ms184341.aspx

ARITHABORT : http://msdn.microsoft.com/ko-kr/library/ms190306.aspx

'DB > MSSQL' 카테고리의 다른 글

초간단 트리거 문법  (0) 2016.08.24
테이블 명세서 쿼리문  (0) 2014.09.23
숫자 앞에 0으로 채우기  (0) 2014.09.04
SELECT UPDATE 구문  (0) 2014.04.17
CASE 문  (0) 2014.01.14

1. REPLICATE

SELECT REPLICATE('0',6-LEN(EmployeeId)) + EmployeeId



2. RIGHT

SELECT Right('000000' + CONVERT(NVARCHAR, EmployeeID), 6)



개인적으론 2안이 복잡하지 않고 부하가 적어서 더 나은 것 같다.


'DB > MSSQL' 카테고리의 다른 글

테이블 명세서 쿼리문  (0) 2014.09.23
0을 나누기 에러 대신 null 반환되도록 하기  (0) 2014.09.19
SELECT UPDATE 구문  (0) 2014.04.17
CASE 문  (0) 2014.01.14
select insert update 구문  (0) 2014.01.14
UPDATE table1
SET col1 = B.col1
FROM table1 A, table2 B
WHERE A.col2=B.col2 AND A.col3=B.col3

'DB > MSSQL' 카테고리의 다른 글

테이블 명세서 쿼리문  (0) 2014.09.23
0을 나누기 에러 대신 null 반환되도록 하기  (0) 2014.09.19
숫자 앞에 0으로 채우기  (0) 2014.09.04
CASE 문  (0) 2014.01.14
select insert update 구문  (0) 2014.01.14
UPDATE table_name 
SET col1=CASE ? 
    WHEN '' THEN col1 
    ELSE ? 
END 
WHERE col2=? and col3=?

'DB > MSSQL' 카테고리의 다른 글

테이블 명세서 쿼리문  (0) 2014.09.23
0을 나누기 에러 대신 null 반환되도록 하기  (0) 2014.09.19
숫자 앞에 0으로 채우기  (0) 2014.09.04
SELECT UPDATE 구문  (0) 2014.04.17
select insert update 구문  (0) 2014.01.14
IF NOT EXISTS (SELECT col1 FROM table_name WHERE col2=? and col3=?) 
    INSERT INTO table_name (col1, col2, col3) VALUES (?, ?, ?) 
ELSE
    UPDATE table_name SET col1=? WHERE col2=? and col3=?

'DB > MSSQL' 카테고리의 다른 글

테이블 명세서 쿼리문  (0) 2014.09.23
0을 나누기 에러 대신 null 반환되도록 하기  (0) 2014.09.19
숫자 앞에 0으로 채우기  (0) 2014.09.04
SELECT UPDATE 구문  (0) 2014.04.17
CASE 문  (0) 2014.01.14

+ Recent posts