不行呀,我把Declare删除后跟没有删除时一样提示:已创建的过程出现编译错误

解决方案 »

  1.   

    --去掉delcare
    --在end addsms前加
      commit;
      exception
        when others then 
           rollback;
      

  2.   

    CREATE OR REPLACE PROCEDURE AddSMS 
    (
    MSISDN IN VARCHAR2,
    ShortMSG IN VARCHAR2,
    id OUT NUMBER
    )
    AS
    currentTime DATE;
    recver VARCHAR2(12);

    id := seq_sms.nextval;
    currentTime := SYSDATE;
    recver := '5';

    BEGIN
    INSERT INTO Receiver(ID,Recver, MSISDN, ShortMSG, CreateTime)
    VALUES(id,recver, MSISDN, ShortMSG, currentTime);
    commit;
    exception
        when others then 
           rollback;
    END AddSMS;是这样子吗?
    好像也有问题呀,
      

  3.   

    CREATE OR REPLACE PROCEDURE AddSMS 
    (
    MSISDN IN VARCHAR2,
    ShortMSG IN VARCHAR2,
    id OUT NUMBER
    )
    AS

    currentTime DATE;
    recver VARCHAR2(12);

    BEGIN

    select  seq_sms.nextval into id from dual;
    currentTime := SYSDATE;
    recver := '5'; INSERT INTO Receiver(ID,Recver, MSISDN, ShortMSG, CreateTime)
    VALUES(id,recver, MSISDN, ShortMSG, currentTime);
    exception
    when others then 
           rollback;
    END AddSMS;
    END AddSMS;
    你试试这个,我没有调试!我觉得你的错误是关于赋初值的和有关序列生成器的