我在Windows 8中使用11g上的Oracle Data Miner。我想创建一个触发器,它会在执行时实例化一些sql脚本(即每当我尝试插入或更新记录时) 因此触发器将调用一些sql脚本。这样做的全部目的是在我在表中添加元组时执行一些过程。我无法获得正确的语法。 我尝试使用
create or replace trigger startClassification
after insert or update on comorbidity_scores
for each row
begin
@"C:\path\to\script\workflow_drop.sql";
@"C:\path\to\script\workflow_run.sql";
end;
但它不起作用。 什么是正确的语法?
答案 0 :(得分:0)
使用UTL_FILE使用SQL脚本读取文件并使用DBMS_JOB执行它(如果脚本中只有一个语句,则使用EXECUTE IMMEDIETE。
请注意,这是一个非常严重的后门(具有写访问权限的任何人都可以在您的数据库中运行查询!)。
答案 1 :(得分:0)
解决。 当我在Oracle Data Miner中参与我的工作流系统的数据库中添加记录时,问题是启动一些流程(这里是数据挖掘过程)。 我在PL / SQL过程中使用了DBMS_CHANGE_NOTIFICATION和DBMS_SCHEDULER。 另一方面,TRIGGERS是我独立撰写的。