0
userstamp를 테이블로 가져와 GOTED FOR UPDATE UPDATE AS 문이 DB2의 SESSION_USER 변수와 함께 작동하는 방식을 파악할 필요가 없습니다. 10.5 (LUW). 업데이트 문에서 평가 강제로 가짜 변수가있는 함수를 사용하여 작업을 구현 얻을 관리 DB2 : 세션 사용자와 작업하기 위해 항상 명령문으로 생성하는 방법
그러나CREATE OR REPLACE FUNCTION XXX.CURRENT_USER(tmp varchar(128))
SPECIFIC xxx.XXX_CURRENT_USER
RETURNS VARCHAR(128)
CONTAINS SQL DETERMINISTIC NO EXTERNAL ACTION
BEGIN
RETURN session_user ;
END
GO
CREATE TABLE xxx (
i INTEGER,
t VARCHAR(128) GENERATED ALWAYS AS (XXX.CURRENT_USER(i))
)
은 좋은이 같은 기본적인 일이 적은 "해키"구현을 가질 것 .
타임 스탬프의 경우 "각 행을 업데이트 할 때 ROW CHANGE TIMESTAMP"문은 있지만 다른 레지스터 변수는 이에 해당하지 않습니다.
도움을 주셔서 대단히 감사합니다.
의견에 감사드립니다. 불행히도 업데이트 문과 함께 작동하지 않습니다. 트리거를 사용하지 않고 누가 행을 수정했는지 자동으로 추적하고 싶습니다. – JMX
@JMX. . . 나는 당신의 코드가 그렇게 할 것이라고 생각하지 않는다. 방아쇠를 사용해야한다고 생각해. –
실제로 함수가 행 값 (이 경우 열 "i")에 의존하는 경우에는 수행됩니다. – JMX