데이터베이스 개발자 질문과 답변 게시판

데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.

안녕하세요.


저희 ERP가 좀 옛날꺼라 권한을 가진 일부 사람 중 한명이 회계년도를 바꿔서 저장 처리해버리면

회사 전체 ERP 사용자들이 그 바뀐 연도로 ERP를 접속하게 됩니다.

그럼 사람들은 회계년도가 바뀐지도 모르고 그냥 쓰다가 나중에 난리가 나죠...


불행히도 회계년도를 바꿀 때 누가 언제 변경을 했는지에 대한 기록은 남겨지지 않습니다.

그래서 서로가 서로를 의심하는 상황이 되죠...


안되겠어서 이번에 제가 트리거를 해당 테이블에 걸어두고자 합니다.

테이블 명은 basic 입니다.

이 테이블에는 1개의 레코드만 들어가 있습니다. 회사 정보와 회계년도 값이 있습니다.


우선 basic_trg 라는 테이블에 아래와 같은 컬럼을 구성할 생각입니다. (업데이트 수행자 정보 저장용)

1. up_host : 업데이트 한 사람의 HOSTNAME 값

2. up_ip     : 업데이트 한 사람의 IP주소

3. up_date : 업데이트를 했던 날짜및시간

4. up_type : 변경된 레코드 키값, 업데이트 한 컬럼명 및 값


일단 트리거 만들려고 쿼리문 만들어봤는데...

아래 내용 중에서 각각의 정보를 어떻게 구해서 구문을 작성해 주어야 할지 모르겠습니다.



CREATE TRIGGER [AB_TRG] ON [dbo].[BASIC]
FOR UPDATE
AS
    declare @ip_host nvarchar(50), @up_ip nvarchar(30), @up_type nvarchar(50)
    declare @dp_code nvarchar(10), @ab_year nvarchar(4)
    
    select @dp_code = DP_CODE from inserted
    select @ab_year = AB_YEAR from inserted
    
    Set @ip_host = host_name()
    Set @up_ip = ???
    set @dp_type = @dp_code+'/'+@ab_year
    
    if update(AB_YEAR) Begin

        Set @dp_type = @dp_type + '/AB_YEAR'
        Update BASIC_TRG set up_host = @ip_host, up_ip = @up_ip, up_date = getdate(), up_type = @up_type where DP_SCODE = @dp_code
    End


IP는 어떻게 구할 수 있을까요? 위와 같이 하면 문제가 없을 것 같은데... 한번 봐주시면 감사하겠습니다.~

감사합니다.




No. Subject Author Date Views
9079 안녕하세요 공백 체크 쿼리 질문 드립니다. [2] 양재동살아요 2015.12.31 3710
9078 겹친 I/O 작업이 진행 중입니다. 해결방법 없나요? [1] 떠벙이 2015.12.30 6026
9077 컬럼 암호화 관련해서 질문있습니다 젊은지사의출발 2015.12.30 2362
9076 데이터베이스 복구에 대해서 질문드립니다. 마스터를위하여 2015.12.30 5531
9075 LINKED DB, WHERE 절 문의 드립니다. [4] 가경승민아빠 2015.12.30 5001
9074 2012 server + SQL 2014에서 오라클 연결 문의 [1] 두루마리휴지 2015.12.29 2278
9073 안녕하세요 질문좀 드릴께요 도와주세요 [3] 양재동살아요 2015.12.29 2013
9072 db lock 상태의 history를 볼 수 있는 방법이 있을까요? [2] zza 2015.12.29 2672
9071 SQL SEVER 2014 기업 구매 관련해서 질문드립니다. [2] 히카 2015.12.29 2378
9070 msdb 로그파일이 커져서 디스크 공간이 부족합니다. 무지무지 2015.12.29 2407
9069 jsp에서 mssql2014 윈도우인증모드 접속시 에러 현상 깔샴이 2015.12.29 4641
9068 로그 쉬핑 복원 시간이 너무 오래 걸리고 있습니다. Robin 2015.12.29 2387
9067 프로시저 내의 업데이트가 동작을 하지 않는 이유가 궁금합니다. [1] 랑슈 2015.12.28 1834
9066 ROUND함수로 반올림후 0을 지우는 방법을 알고싶습니다. [1] sincie 2015.12.23 2081
9065 우편번호DB 데이터 가져오기 문제 더카니 2015.12.21 2926
9064 Tempdb속성질문입니다. 희망나라 2015.12.21 2104
9063 데이터베이스에서 페이징으로 가져오려할 때에 전체 갯수를 얻는 방법을 알고 싶습니다. [1] 동동7972 2015.12.19 2168
» 트리거를 이용한 Update 책임자 찾기... [4] Larry 2015.12.18 3029
9061 클라이언트 맥주소 관련 질문입니다. 베이비2 2015.12.18 2734
9060 쿼리 관련 조언을 듣고 싶습니다. [1] 다복이 2015.12.18 2000





XE Login