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

오류창이 뜬다면

도구 -> 옵션에 아래와 같이 옵션을 해제해주면 된다.

 

오류내용

KBoard : 이 페이지는 외부에서의 접근을 제한하고 있습니다.


내 경우 원인

1. 에러코드 위치: 리퍼러가 있는데 리퍼러의 경로가 현재 사이트와 다른 경우 다운로드가 되지 않았다.

2. 사이트에 받았는데 이게 무슨일인가 했더니 SSL 때문에 포트번호가 들어갔는데 리퍼러와 비교할 호스트 주소에는 포트번호가 누락되었기 때문이었다.


해결

/wp-content/plugins/kboard/class/KBController.class.php 에서 

$host = isset($_SERVER['HTTP_HOST'])?$_SERVER['HTTP_HOST']:'';

->

$host = isset($_SERVER['HTTP_HOST'])?$_SERVER['HTTP_HOST']:'';

$host .= ":".$_SERVER['SERVER_PORT'];

첨부파일 삭제와 다운로드할 때 두번 나왔음


UPDATE 테이블1 a

INNER JOIN 테이블2 b ON a.컬럼1= b.컬럼1

SET a.컬럼2=b.컬럼2

출처: http://stackoverflow.com/questions/871905/use-select-inside-an-update-query

// 숫자 타입에서 쓸 수 있도록 format() 함수 추가

Number.prototype.format = function(){

    if(this==0) return 0;

 

    var reg = /(^[+-]?\d+)(\d{3})/;

    var n = (this + '');

 

    while (reg.test(n)) n = n.replace(reg, '$1' + ',' + '$2');

 

    return n;

};

 

// 문자열 타입에서 쓸 수 있도록 format() 함수 추가

String.prototype.format = function(){

    var num = parseFloat(this);

    if( isNaN(num) ) return "0";

 

    return num.format();

};


// 콤마가 들어간 문자열을 콤마 제거하면서 숫자형 반환

String.prototype.unformat = function(){

var str = this.replace(/,/g,'');

var num = parseFloat(str);

if( isNaN(num) ) {

return "0";

}


return String(num);

};

 

 

// 숫자 타입 test

var num = 123456.012;

console.log(num.format());               // 123,456.012

 

num = 13546745;

console.log(num.format());               // 13,546,745

 

// 문자열 타입 test

console.log("12348".format());           // 12,348

console.log("12348.6456".format());      // 12,348.6456


출처: http://stove99.tistory.com/113


+ Recent posts