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;
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;
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里面的记录大于一条都会报错
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 是一个集合
楼主一定要注意这个问题
as/is下面的就是声明部分,不要再写declar了
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;
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;