first version of trigger files

This commit is contained in:
harishkrishnaappa
2021-09-20 12:16:02 +05:30
commit 794120b26b
2 changed files with 99 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
CREATE OR REPLACE FUNCTION timestamp_update()
RETURNS trigger AS
$$
declare
v_upd_string text;
v_sqlstate text;
v_message text;
v_context text;
BEGIN
v_upd_string := 'UPDATE ' || TG_TABLE_SCHEMA || '.' || TG_TABLE_NAME;
IF (TG_OP = 'INSERT') THEN
v_upd_string := v_upd_string || ' SET create_timestamp = ''' || now() || ''', ';
v_upd_string := v_upd_string || ' update_timestamp = ''' || now() || ''' where syspk = ' || new.syspk;
ELSEIF (TG_OP = 'UPDATE') THEN
v_upd_string := v_upd_string || ' SET update_timestamp = ''' || now() || ''' where syspk = ' || old.syspk;
END IF;
execute (v_upd_string);
RETURN new;
EXCEPTION WHEN OTHERS THEN
GET STACKED DIAGNOSTICS
v_sqlstate = returned_sqlstate,
v_message = message_text,
v_context = pg_exception_context;
RETURN NULL;
END
$$ LANGUAGE plpgsql;

68
trigger_creation_v1.0.sql Normal file
View File

@@ -0,0 +1,68 @@
create trigger trg_fw_config_menu_screen_render after insert or update on fw_core.fw_config_menu_screen_render
for each row execute procedure fw_core.timestamp_update();
create trigger trg_fw_config_screenlet_instance after insert or update on fw_core.fw_config_screenlet_instance
for each row execute procedure fw_core.timestamp_update();
create trigger trg_fw_config_screenlet_vizlet_datasql_axis_tooltips after insert or update on fw_core.fw_config_screenlet_vizlet_datasql_axis_tooltips
for each row execute procedure fw_core.timestamp_update();
create trigger trg_fw_appconfig_m_action_icons after insert or update on fw_core.fw_appconfig_m_action_icons
for each row execute procedure fw_core.timestamp_update();
create trigger trg_fw_appconfig_m_screen_type after insert or update on fw_core.fw_appconfig_m_screen_type
for each row execute procedure fw_core.timestamp_update();
create trigger trg_fw_appconfig_m_screenlet_type after insert or update on fw_core.fw_appconfig_m_screenlet_type
for each row execute procedure fw_core.timestamp_update();
create trigger trg_fw_appconfig_m_screenlet_vizlet after insert or update on fw_core.fw_appconfig_m_screenlet_vizlet
for each row execute procedure fw_core.timestamp_update();
create trigger trg_fw_appconfig_m_vizlet_size after insert or update on fw_core.fw_appconfig_m_vizlet_size
for each row execute procedure fw_core.timestamp_update();
create trigger trg_fw_config_m_datasql after insert or update on fw_core.fw_config_m_datasql
for each row execute procedure fw_core.timestamp_update();
create trigger trg_fw_config_m_listbox after insert or update on fw_core.fw_config_m_listbox
for each row execute procedure fw_core.timestamp_update();
create trigger trg_fw_config_m_listbox_sql after insert or update on fw_core.fw_config_m_listbox_sql
for each row execute procedure fw_core.timestamp_update();
create trigger trg_fw_config_menu_master after insert or update on fw_core.fw_config_menu_master
for each row execute procedure fw_core.timestamp_update();
create trigger trg_fw_m_viztype after insert or update on fw_core.fw_m_viztype
for each row execute procedure fw_core.timestamp_update();
create trigger trg_fw_config_column_metadata after insert or update on fw_core.fw_config_column_metadata
for each row execute procedure fw_core.timestamp_update();
create trigger trg_fw_config_db_data_source after insert or update on fw_core.fw_config_db_data_source
for each row execute procedure fw_core.timestamp_update();
create trigger trg_fw_config_table_metadata after insert or update on fw_core.fw_config_table_metadata
for each row execute procedure fw_core.timestamp_update();
create trigger trg_fw_config_report_column_master after insert or update on fw_core.fw_config_report_column_master
for each row execute procedure fw_core.timestamp_update();
create trigger trg_fw_config_sys_parameters after insert or update on fw_core.fw_config_sys_parameters
for each row execute procedure fw_core.timestamp_update();
create trigger trg_fw_config_user_role after insert or update on fw_core.fw_config_user_role
for each row execute procedure fw_core.timestamp_update();
create trigger trg_fw_m_client after insert or update on fw_core.fw_m_client
for each row execute procedure fw_core.timestamp_update();
create trigger trg_fw_m_function after insert or update on fw_core.fw_m_function
for each row execute procedure fw_core.timestamp_update();
create trigger trg_fw_m_role after insert or update on fw_core.fw_m_role
for each row execute procedure fw_core.timestamp_update();
create trigger trg_fw_m_user after insert or update on fw_core.fw_m_user
for each row execute procedure fw_core.timestamp_update();