declare a varchar2(100); begin train1('v1',a); end;
还有: create or replace procedure train1( v1 in varchar2, o1 out varchar2 ) as begin select station_order into o1 from tour_train where station_name=v1 -- 不是 'v1'!!!; end;
declare * ERROR 位于第 1 行: ORA-01403: 未找到数据 ORA-06512: 在"TOUR.TRAIN1", line 7 ORA-06512: 在line 4按你所说得也有错误呀!! -------------------------------------对select 语句最好做一个例外处理 begin sql 语句 exception WHEN OTHERS THEN dbms_output.put_line('意外错误' || SQLERRM); RETURN ;
我也碰到这个问题(create or replace procedure test as select * from scott.emp;) 执行时总是出错,不知道什么原因?
已经可以了,但是怎么做能看到查询出来的数据呢? 这是我重做的一个过程,编译和调用都可以了,但看不到数据 create procedure codenumber1 ( in_netherlands in varchar2, code out number ) as begin select code_number into code from tour_code_number where netherlands=in_netherlands; end codenumber1;调用 declare aa number(6); begin codenumber1('上海',aa); end; 我想让数据显示出来,该怎么做呀?
sql> set serveroutput on sql>declare aa number(6); begin codenumber1('上海',aa); dbms_output.put_line('上海 is ' || aa); end;
select station_order into o1 from tour_train where station_name=v1;
非常感谢大家的热心帮助为以后的新手少走弯路,整理一下 过程: create or replace procedure codenumber1(过程名) ( in_netherlands(过程的参数名称) in varchar2(参数的PL/SQL类型), code out number ) as begin select code_number into code from tour_code_number where (过程体)netherlands=in_netherlands; end codenumber1;调用并显示 set serveroutput on declare aa number(6); begin codenumber1('上海',aa); dbms_output.put_line('上海 is ' || aa); end; 揭帖了
ERROR 位于第 5 行:
ORA-06550: 第 5 行, 第 15 列:
PLS-00201: 必须说明标识符 'O1'
ORA-06550: 第 5 行, 第 3 列:
PL/SQL: Statement ignored
a varchar2(100);
begin
train1('v1',a);
end;
create or replace procedure train1(
v1 in varchar2,
o1 out varchar2
)
as
begin
select station_order into o1
from tour_train where station_name=v1 -- 不是 'v1'!!!;
end;
*
ERROR 位于第 1 行:
ORA-01403: 未找到数据
ORA-06512: 在"TOUR.TRAIN1", line 7
ORA-06512: 在line 4按你所说得也有错误呀!!
表中没有符合 where条件的记录。
*
ERROR 位于第 1 行:
ORA-01403: 未找到数据
ORA-06512: 在"TOUR.TRAIN1", line 7
ORA-06512: 在line 4按你所说得也有错误呀!!
-------------------------------------对select 语句最好做一个例外处理
begin
sql 语句
exception
WHEN OTHERS THEN
dbms_output.put_line('意外错误' || SQLERRM);
RETURN ;
执行时总是出错,不知道什么原因?
这是我重做的一个过程,编译和调用都可以了,但看不到数据
create procedure codenumber1
(
in_netherlands in varchar2,
code out number
)
as
begin
select code_number into code from tour_code_number where netherlands=in_netherlands;
end codenumber1;调用
declare
aa number(6);
begin
codenumber1('上海',aa);
end;
我想让数据显示出来,该怎么做呀?
sql>declare
aa number(6);
begin
codenumber1('上海',aa);
dbms_output.put_line('上海 is ' || aa);
end;
过程:
create or replace procedure codenumber1(过程名)
(
in_netherlands(过程的参数名称) in varchar2(参数的PL/SQL类型),
code out number
)
as
begin
select code_number into code from tour_code_number where (过程体)netherlands=in_netherlands;
end codenumber1;调用并显示
set serveroutput on
declare
aa number(6);
begin
codenumber1('上海',aa);
dbms_output.put_line('上海 is ' || aa);
end;
揭帖了