본문 바로가기

MS-SQL/Query45

[MSSQL] TRIGGER AFTER UPDATE 업데이트 된 컬럼명 찾아보기 COLUMNS_UPDATED() 를 이용하여 HEX 값을 이용하여 SYS.COLUMNS 테이블에서 컬럼명을 찾아내는 것 같습니다만 계산되는 메카니즘을 전혀 이해 하지 못했습니다 -_-;;; 아래는 해당 내용 출처입니다.. 출처 : stackoverflow.com/questions/8049810/how-to-get-updated-column-names-in-sql-server How to get updated column names in sql server I have a table called user with colums like FirstName,LastName,Age,Location,City,Education etc What I wanted to do is After a user Updates hi.. 2021. 2. 8.
MSSQL 쿼리 실행 이력 확인 MSSQL 2005버젼에서 테스트 했습니다만 ,, ADO.NET을 통해 호출한 쿼리내역은 찾지를 못했습니다 ㅠㅠ select * from sys.dm_exec_query_stats as QueryStataus cross apply sys.dm_exec_sql_text(QueryStataus.plan_handle) as QueryText where text like '%검색키워드%' order by QueryStataus.last_execution_time desc; 2016. 5. 10.
[MSSQL] NULL 조건 비교시 유의 할 점 DECLARE @WorkStartDateTime Int = NULL; IF @WorkStartDateTime = NULL BEGIN IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION RETURN ; END //매번 실수 하고 있는 것 ;;;;; //비교시 = NULL을 쓰면 조건을 타지 않는다 . 반드시 IS NULL 로 비교하거나 ISNULL 함수로 치환 해야한다 . -_-;; IF @WorkStartDateTime IS NULL BEGIN IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION RETURN ; END 2016. 2. 18.
[MSSQL] MERGE Insert 후 IDENTITY ID 값 리턴 받아보기 -_-;; 예제 구체적이지 않아 죄송합니다;;INSERT @OutPutTbl SELECT * FROM ( MERGE TargetTbl AS TargetTbl USING (SELECT * FROM @InstUpdtTarget) AS InstUpdtTarget ON TargetTbl.IvtID = InstUpdtTarget.IvtID AND TargetTbl.PlaceCD = InstUpdtTarget.PlaceCD WHEN MATCHED THEN UPDATE SET TargetTbl.ID = InstUpdtTarget.ID WHEN NOT MATCHED THEN INSERT VALUES (InstUpdtTarget.ID) OUTPUT Inserted.ID,InstUpdtTarget.ID,$action ) AS Res.. 2015. 12. 10.