alter procedure proc_name
(
@arg1 varchar(10),
@arg2 varchar(10) out
)
as
select * from t1
set @arg2 = (select COUNT(1) from t1)
这个用oracle怎么写啊? 我写总是说 INVALID
(
@arg1 varchar(10),
@arg2 varchar(10) out
)
as
select * from t1
set @arg2 = (select COUNT(1) from t1)
这个用oracle怎么写啊? 我写总是说 INVALID
(
arg1 varchar2(10),
arg2 varchar2(10) out
)
as
begin
select * from t1
arg2 := (select COUNT(1) from t1)end
是不是系统有问题?
create or replace procedure proc_name
(
arg1 varchar2(10),
arg2 out varchar2(10)
)
as
begin
select * from t1;
arg2 := (select COUNT(1) from t1);
end
begin
--SELECT F001,F002,F003,F004,F005,F006,F007,UPDID,UPDDT FROM TMDR01;
RefCur_MasterBO := '1';
--v_totalCount := (select count(*) from TMDR01);
end test;
上面2句话注释掉 就没事了 请问这2句话有什么问题吗?
第二句应该写到里面 还有查出数据是整型,类型不匹配
select v_totalCount := count(*) from TMDR01
create or replace procedure test
(v_delflg in varchar2,
v_withdata in varchar2,
v_columnList in varchar2,
RefCur_MasterBO out varchar2,
v_totalCount out varchar2
) is
begin
SELECT F001,F002,F003,F004,F005,F006,F007,UPDID,UPDDT FROM TMDR01;
RefCur_MasterBO := '1';
select v_totalCount :=count(*) from TMDR01;
end test;
create or replace procedure test
(
v_delflg in varchar2,
v_withdata in varchar2,
v_columnList in varchar2,
RefCur_MasterBO out varchar2,
v_totalCount out number
)
as
begin
SELECT F001,F002,F003,F004,F005,F006,F007,UPDID,UPDDT FROM TMDR01;
RefCur_MasterBO := '1';
select count(*) into v_totalCount from TMDR01;
end test;
SELECT出的结果要放进游标或 用into 赋值变量。http://topic.csdn.net/u/20120524/11/3e17d148-46e0-4526-816f-3446482a6d9f.html?seed=999572085&r=78662803#r_78662803
(
--@arg1 varchar(10),
--@arg2 varchar(10) out
arg1 in varchar2;
arg2 out varchar2;
)
--as
is
begin
--select * from t1
--set @arg2 = (select COUNT(1) from t1)
select count(1) into arg2 from t1;
dbms_output.put_line('-----------result is :' || arg2);
return arg2;
end;
--根据原帖我写的存储过程如下
create or replace procedure proc_name
(
arg2 out varchar2
)
is
begin
select count(*) into arg2 from test1;
end;
--ps:已经测试通过