我写了个这么个存储过程,
create or replace procedure test_pro(inta in number)
is
begin if ( inta=(SELECT count(CODE_SCHEME) FROM CAT_CODE where code_scheme like concat('2','%')))
then
begin
select * from cat_code
end
else
begin
select * from cat_test
end
end if end test_pro
有问题,要报错,调试的是要报“TEST_PRO is invalid”,存储过程上面有把红叉,
首先说一下,三个查询的SELECT 语句没有问题能执行。希望大家帮我看看。
create or replace procedure test_pro(inta in number)
is
begin if ( inta=(SELECT count(CODE_SCHEME) FROM CAT_CODE where code_scheme like concat('2','%')))
then
begin
select * from cat_code
end
else
begin
select * from cat_test
end
end if end test_pro
有问题,要报错,调试的是要报“TEST_PRO is invalid”,存储过程上面有把红叉,
首先说一下,三个查询的SELECT 语句没有问题能执行。希望大家帮我看看。
select要这样写select 字段1 into 变量1 from 表名不能用select *
并且每个select只允许出来一条纪录最后鄙视0分贴借用某人的签名.
贴子分数 <20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.
is
v_inta NUMBER;
begin
v_inta = SELECT count(CODE_SCHEME) FROM CAT_CODE where code_scheme like concat('2','%');
if inta=v_inta then
select * from cat_code
else
select * from cat_test
end if end test_pro
这块有问题
建议先附值然后再if判断
is
v_inta NUMBER;
begin
SELECT count(CODE_SCHEME) into v_inta FROM CAT_CODE where code_scheme like concat('2','%');
if inta=v_inta then
select * from cat_code 这里很怪哦,可以查多条记录吗
else
select * from cat_test 这里很怪哦,可以查多条记录吗end if end test_pro
select * from cat_code 这样要报错哦,
else
select * from cat_test 这样要报错哦,end if oracle 里的存储过程里 ,select要这样写
select 字段1,字段2 into 变量1,变量1 from 表名
不能用select *
每个select只允许出来一条纪录