忘记说了 我的xykkcmxbh 是这样的
create quence xykkcmxbh increment by 1 start with 1 maxvale 99999999

解决方案 »

  1.   

    CREATE OR REPLACE TRIGGER kcxxkcmxline
        BEFORE INSERT OR UPDATE ON XYKRKXX
        FOR EACH ROW
    declare
      i number(5):=1;
      OUT CHAR(9);
    BEGIN
      IF i<8-LENGTH(XYKKCMXBH.NEXTVAL) THEN
      i:=i+1;
      OUT:=OUT||'0'; --->  have a try:+ ---->||
      ENDIF
      to_char(xykkcmxbh.nextval)=xykkcmxbh.nextval+out;
      INSERT INTO XYKKCMX(BH,YPBH,YPMC,FL,GG,SL,PFJ,PFJJE,LSJ,LSJJE,CZY)
            VALUES (xykkcmxbh.nextval,:NEW.YPBH,:NEW.YPMC,:NEW.YPFL,:NEW.GG,:NEW.RKSL,:NEW.PFJ,:NEW.PFJJE,:NEW.LSJ,:NEW.LSJJE,:NEW.CZY);
    END kcxxkcmxline
      

  2.   

    YESORACLE中字符串的连接需要用 || ,+是不行的
      

  3.   


     估计楼主写MS SQL的东东写习惯了,还没太适应PL/SQL的语法.
      

  4.   

    CREATE OR REPLACE TRIGGER kcxxkcmxline
        BEFORE INSERT OR UPDATE ON XYKRKXX
        FOR EACH ROW
    DECLARE
      i VARCHAR2(9);
    BEGIN
      i=LPAD(TO_CHAR(xykkcmxbh.nextval),9-LENGTH(TO_CHAR(xykkcmxbh.nextval)),'0');
      INSERT INTO XYKKCMX(BH,YPBH,YPMC,FL,GG,SL,PFJ,PFJJE,LSJ,LSJJE,CZY)
        VALUES (i,:NEW.YPBH,:NEW.YPMC,:NEW.YPFL,
                  :NEW.GG,:NEW.RKSL,:NEW.PFJ,
                  :NEW.PFJJE,:NEW.LSJ,:NEW.LSJJE,
                  :NEW.CZY);
    END kcxxkcmxline
      

  5.   

    CREATE OR REPLACE TRIGGER kcxxkcmxline
        BEFORE INSERT OR UPDATE ON XYKRKXX
        FOR EACH ROW
    BEGIN
        INSERT INTO XYKKCMX(BH,YPBH,YPMC,FL,GG,SL,PFJ,PFJJE,LSJ,LSJJE,CZY)
            VALUES (
    lpad(to_char(xykkcmxbh.nextval),9,'0'),
    :NEW.YPBH,:NEW.YPMC,:NEW.YPFL,:NEW.GG,:NEW.RKSL,:NEW.PFJ,:NEW.PFJJE,:NEW.LSJ,:NEW.LSJJE,:NEW.CZY);
    END kcxxkcmxline
      

  6.   

    干嘛这么复杂
    CREATE OR REPLACE TRIGGER kcxxkcmxline
        BEFORE INSERT OR UPDATE ON XYKRKXX
        FOR EACH ROWBEGIN
        INSERT INTO XYKKCMX(BH,YPBH,YPMC,FL,GG,SL,PFJ,PFJJE,LSJ,LSJJE,CZY)
            VALUES (lpad(xykkcmxbh.nextval,8,'0'),:NEW.YPBH,:NEW.YPMC,:NEW.YPFL,:NEW.GG,:NEW.RKSL,:NEW.PFJ,:NEW.PFJJE,:NEW.LSJ,:NEW.LSJJE,:NEW.CZY);
    END kcxxkcmxline