안녕하세요.


저희 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
Notice SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 15623
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 9494
9078 겹친 I/O 작업이 진행 중입니다. 해결방법 없나요? [1] 떠벙이 2015.12.30 6179
9077 컬럼 암호화 관련해서 질문있습니다 젊은지사의출발 2015.12.30 2390
9076 데이터베이스 복구에 대해서 질문드립니다. 마스터를위하여 2015.12.30 5672
9075 LINKED DB, WHERE 절 문의 드립니다. [4] 가경승민아빠 2015.12.30 5614
9074 2012 server + SQL 2014에서 오라클 연결 문의 [1] 두루마리휴지 2015.12.29 2301
9073 안녕하세요 질문좀 드릴께요 도와주세요 [3] 양재동살아요 2015.12.29 2043
9072 db lock 상태의 history를 볼 수 있는 방법이 있을까요? [2] zza 2015.12.29 3002
9071 SQL SEVER 2014 기업 구매 관련해서 질문드립니다. [2] 히카 2015.12.29 2436
9070 msdb 로그파일이 커져서 디스크 공간이 부족합니다. 무지무지 2015.12.29 2445
9069 jsp에서 mssql2014 윈도우인증모드 접속시 에러 현상 깔샴이 2015.12.29 4734
9068 로그 쉬핑 복원 시간이 너무 오래 걸리고 있습니다. Robin 2015.12.29 2413
9067 프로시저 내의 업데이트가 동작을 하지 않는 이유가 궁금합니다. [1] 랑슈 2015.12.28 1859
9066 ROUND함수로 반올림후 0을 지우는 방법을 알고싶습니다. [1] sincie 2015.12.23 2117
9065 우편번호DB 데이터 가져오기 문제 더카니 2015.12.21 2960
9064 Tempdb속성질문입니다. 희망나라 2015.12.21 2137
9063 데이터베이스에서 페이징으로 가져오려할 때에 전체 갯수를 얻는 방법을 알고 싶습니다. [1] 동동7972 2015.12.19 2219
» 트리거를 이용한 Update 책임자 찾기... [4] Larry 2015.12.18 3076
9061 클라이언트 맥주소 관련 질문입니다. 베이비2 2015.12.18 2775
9060 쿼리 관련 조언을 듣고 싶습니다. [1] 다복이 2015.12.18 2032
9059 이 문제 떄문에 탈모 일어 날 것 같습니다... [5] sql_machine 2015.12.16 2635





XE Login