insert 语句结尾没有分号
....
insert into learntriger 
(organization_code)
values('S1F');
....

解决方案 »

  1.   

    create or replace trigger learntriger_tr
    after insert on learntriger
    for each row
    begin
    update learntriger
    set organization_code='S1F';
    end learntriger_tr;我又改了,但是还是不行,运行的时候就出问题。谁知道有什么错误吗?
      

  2.   

    create procedure pro
    as
    begin
    insert into learntriger 
    (organization_code)
    values('S1F');
    end;
    /
    create or replace trigger learntriger_tr
    after insert on learntriger
    for each row
    begin
    pro;
    end;
    /
      

  3.   

    create procedure pro(p_id in varchar2)
    as
    begin
    update learntriger
    set organization_code='S1F' where id=p_id;
    end;
    /create or replace trigger learntriger_tr
    after insert on learntriger
    for each row
    begin
    pro(:new.id);
    end learntriger_tr;
    /
      

  4.   

    这和
    create or replace trigger learntriger_tr
    after insert on learntriger
    for each row
    begin
    update learntriger
    set organization_code='S1F'
    where organization_code=''
    end learntriger_tr;
    有什么不同吗?
      

  5.   

    //建表
     create table learnTriger
    (
      INVENTORY_ITEM_ID              NUMBER not null,
      ORGANIZATION_ID                NUMBER not null,
      ORGANIZATION_code              VARCHAR2(4),
      ENABLED_FLAG                   VARCHAR2(1) not null,
      DESCRIPTION                    VARCHAR2(240),
      BUYER_ID                       NUMBER(9),
      SEGMENT1                       VARCHAR2(40),
      ATTRIBUTE10                    VARCHAR2(150),
      PRIMARY_UNIT_OF_MEASURE        VARCHAR2(25),
      PLANNER_CODE                   VARCHAR2(10),
      TAX_CODE                       VARCHAR2(50),
      ITEM_TYPE                      VARCHAR2(30),
      MRP_PLANNING_CODE              NUMBER
     )
     commit;//在表中插入一些数据
    create or replace procedure learntriger_p is
    begin
    insert into learntriger
    (inventory_item_id,organization_id,enabled_flag,description,buyer_id,segment1,attribute10,
     primary_unit_of_measure,planner_code,tax_code,item_type,mrp_planning_code)
    select INVENTORY_ITEM_ID,organization_id,enabled_flag,description,buyer_id,segment1,attribute10,
           primary_unit_of_measure,planner_code,tax_code,item_type,mrp_planning_code
           from mtl_system_items_b
           where organization_id=25 and segment1 like '97%';
    commit;
    end learntriger_p;create a trigger, after insert 
    将栏位  ORGANIZATION_code赋值为 ‘S1F’按照要求我这么写trigger可以吗?为什么当我编写完trigger后运行procedure就会出现
    ORA-04098: trigger 'VTEMP.LEARNTRIGER_TR' is invalid and failed re-validation
    ORA-06512: at "VTEMP.LEARNTRIGER_P", line 3
    ORA-06512: at line 1
    问题啊?