这里的问题是,我们使用名为ArcGIS的应用程序为我们的数据库创建一个高层管理层,当我们的用户使用ArcGIS在数据库中创建一个新对象时,它会添加一个默认值(0)添加到主键,因此当创建第二个对象时,会触发ORA错误以获取重复值。插入自动增量触发后
所以我的想法是为我们的PK创建一个自动增量触发器,而是使用AFTER INSERT。 我找不到任何例子在线这个特定的情况下,简单地之前就切换到后给出了一个错误,说你不能用我的尝试后
SQL代码中使用NEW(来自其他问题采取的):
CREATE OR REPLACE TRIGGER "IMOVEL_TRIGGER"
after insert on IMOVEL
for each row
begin
select IMOVEL_SEQ.nextval into :NEW.GEOCODIGO_IMOVEL from dual;
end;
它不能是一个BEFORE INSERT触发器,因为应用程序覆盖它
简化,我需要的是一个AFTER INSERT触发器,可更新PK的序列.nextval,它不让我使用:旧的或新的,所以我不知道必须做什么。 或仅在创建后运行的更新触发
这对我来说是非常新的领域,需要学习SQL现在正好解决了这一问题
A之前触发将无法正常工作,我们正在使用的应用程序覆盖它 – Mojimi
听起来像是一个ArcGIS的支持问题。我不知道ArcGIS,所以我无法帮助,对不起。 –
是的,他们不认为它是一个错误,因为我们不应该手动在oracle中做任何事情,我只是想知道是否有办法绕过它 – Mojimi