CREATE OR REPLACE PROCEDURE KJTSSOX.XH
as
declare v_num_1 NUMBER(8);
v_num_2 NUMBER(8);BEGIN
set v_num_1 = (select XH from XW);
set v_num_1 = (select FBJH from XW_FJ);
  NULL;
END;

解决方案 »

  1.   

    CREATE OR REPLACE PROCEDURE KJTSSOX.XH 
    as 
    v_num_1 NUMBER(8); 
    v_num_2 NUMBER(8); BEGIN 
     select XH into v_num_1 from XW; 
     select FBJH into v_num_2 from XW_FJ; 
    END; 不过这种PROCEDURE毫无意义.
    而且XW和XW_FJ里面的记录大于一条都会报错
      

  2.   

    CREATE OR REPLACE PROCEDURE KJTSSOX.XH 
    as 
    declare v_num_1 NUMBER(8); 
    v_num_2 NUMBER(8); BEGIN 
    set v_num_1 = (select XH from XW where ...); 
    set v_num_2 = (select FBJH from XW_FJ where ...); 
    END; 
      最好是加上条件:v_num_1 是一个变量
                      select XH from XW 是一个集合
      楼主一定要注意这个问题
      

  3.   

    把declar注掉
    as/is下面的就是声明部分,不要再写declar了
      

  4.   


    CREATE OR REPLACE PROCEDURE KJTSSOX.XH  
    as    v_num_1 NUMBER(8);  
    v_num_2 NUMBER(8);  BEGIN  
    set v_num_1 = (select XH from XW where ...);  
    set v_num_2 = (select FBJH from XW_FJ where ...);  
    END;  
      

  5.   

    不知道你那种赋值方法有没有,也不知道select 行不行,好像用select into自己测
      

  6.   

    CREATE OR REPLACE PROCEDURE KJTSSOX.XH 
    as 
    BEGIN
    declare v_num_1 NUMBER(8); 
    v_num_2 NUMBER(8); BEGIN 
    set v_num_1 = (select XH from XW); 
    set v_num_1 = (select FBJH from XW_FJ); 
      NULL; 
    END; 
    END;
    少了BEGIN,END;