Orbeon Form Builder- 将数据从 Orbeon 表加载到自定义表

Orbeon Form Builder- Loading data from Orbeon Tables to Custom tables

我想要一个代码示例来将数据从 orbeon_form_data table 加载到我在 MySQL 中创建的自定义 table。我可以看到数据正在 MySQL 中保存在 orbeon_form_data 中,但我希望所有字段值都保存在我创建的新 table 中。我可以要一个示例 MySQL 触发器吗?

找到答案

 DELIMITER $$
    create trigger <triggername> before insert 
    on orbeon_form_data 
    for each row begin
        if new.app = '<appname>' and new.form = '<formname>' then
            delete from <tablename> where document_id = new.document_id;
            if new.deleted = 'N' then
                insert into <tablename> set document_id = new.document_id,
                    <columnName1> = extractValue(new.xml, '/form/mySection/txtTitle'),
                    <columnName2> = extractValue(new.xml, '/form/mySection/drpAgreementType'),
                    <columnName3> = extractValue(new.xml, '/form/mySection/txtFullName');
            end if;
        end if;
    end;$$
    DELIMITER ;

此处的 tablename 是我们在 MySQL 中创建的自定义 table,columnName1,2,3 指的是从 Orbeon 表单控件映射的列。