1
이 함수를 작동시킬 수 있습니까? 나는 If 문 안에 Postgres 함수로 질의를 삽입한다.Postgres if 문 내부 함수 삽입 값
어떤 방법이 있습니까?
CREATE FUNCTION proc_api_consumer_audit_insert()
RETURNS TRIGGER AS $api_consumer$
BEGIN
INSERT INTO api_consumer_audit(api_consumer_id, change_type, changed_by, changed_date, business_id_old, business_id_new, name_old, name_new, api_callback_url_old, api_callback_url_new, application_base_url_old, application_base_url_new, authorization_callback_url_old, authorization_callback_url_new, status_old, status_new)
VALUES(NEW.id, 'INSERT', (IF NEW.created_by=null THEN CURRENT_USER ELSE NEW.created_by END IF;), CURRENT_TIMESTAMP, null, NEW.business_id, null, NEW.name, null, NEW.api_callback_url, null, NEW.application_base_url, null, NEW.authorization_callback_url, null, NEW.status);
RETURN NEW;
END;
$api_consumer$ LANGUAGE plpgsql;
내가 SQL 삽입 쿼리를 호출하고, 유착
CASE
표현하지만 귀하의 경우coalesce()
에를 사용하는 것이 일반적으로 하나 더 짧은 ('101') : 'INSERT INTO api_consumer (business_id, 유형, 상태, 설명, 생성 _by, 만든 날짜, 수정 _by, 수정 _ 날짜, 이름, origin_country, license_authority_name, registration_date, api_callback_url, application_base_url, authorization_callback_url, address, local_address, license) VALUES , 'PSD2', 'NEW', 'TRIGGER ON IN 테스트 null, null, null, null, null, 1, 1, 1); - 여전히 잘못된 사용자를 표시 함 – xross케이스가 작동 중! 고맙습니다! – xross
@xross 첫번째 코멘트에 추가 한 코드에는'coalesce()'가 없습니다. –