IT
SQL 컬럼 이름이 예약어일 때 문제 해결하는 방법 / MSSQL Trigger 생성 예시 / SSMS 예약어 문제 해결 방법 feat.Dbeaver 디비버
agnusdei1207
2022. 10. 6. 11:46
반응형
SMALL
CREATE TRIGGER trigger_name
ON talbe
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @Action AS CHAR(1)
SET @Action = 'I'
IF Exists(select * from deleted)
begin
SET @Action = (Case when Exists(SELECT * from inserted) then 'U' else 'D' END)
end
Declare @MeasTime AS smalldatetime
Declare @name AS varchar
Declare @start AS real
Declare @stop AS real
Declare @max AS real
Declare @avg AS real
Declare @rms AS real
Declare @stnbr AS varchar
IF @Action != 'D'
Begin
SELECT @MeasTime = MeasTime, @name = name, @start = start, @stop = stop, @max = max, @avg = avg, @rms = rms, @stnbr = stnbr FROM inserted;
INSERT INTO VmSDSM01_LOG(MeasTime, name, start, stop, max, avg, rms, stnbr, sys_dt, div) values(@MeasTime, @name, @start, @stop, @max, @avg, @rms, @stnbr, getDate(), @Action);
End
END
1. 컬럼 이름이 max, avg 등 예약어를 사용하는 경우 웬만한 DBMS 툴로는 문제가 발생한다.
2. DBeaver 디비버를 사용하면 이러한 예약어가 있음에도 불구하고 컬럼이름으로써 사용할 수 있습니다.
반응형
LIST