建议改成这样: CREATE OR REPLACE PROCEDURE test( Cn out varchar2 ) AS BEGIN select dwdm into Cn from xt_dwxx where sjdm='1113331' and rownum = 1; EXCEPTION WHEN NO_DATA_FOUND THEN dbms_output.put_line("未找到符合条件的值");end test; 调用: set serverout ondeclare a varchar2(100); begin test(a); dbms_output.put_line(a); end;
过程名称和end结束时指定的名称不一致create or replace porocedure test end test_2改为: end test;
不过注意,如果你的查询返回了多条记录,Procedure运行会出错噢。
CREATE OR REPLACE PROCEDURE test(
Cn out varchar2
)
AS
BEGIN
select dwdm into Cn from xt_dwxx where sjdm='1113331' and rownum = 1;
EXCEPTION
WHEN NO_DATA_FOUND THEN
dbms_output.put_line("未找到符合条件的值");end test;
调用:
set serverout ondeclare a varchar2(100);
begin
test(a);
dbms_output.put_line(a);
end;
end test_2改为:
end test;