我想要一个代码示例将数据从orbeon_form_data
表加载到我在MySQL中创建的自定义表。我可以看到数据已在orbeon_form_data
中保存在MySQL中,但我希望所有字段值都保存在我创建的新表中。我可以使用MySQL触发器示例吗?
答案 0 :(得分:1)
找到答案
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中创建的自定义表,columnName1,2,3指的是从Orbeon表单控件映射的列。