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
)
as
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句话怎么错了????
(
v_delflg in varchar2,
v_withdata in varchar2,
v_columnList in varchar2,
RefCur_MasterBO out varchar2,
v_totalCount out varchar2
)
as
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句话怎么错了????
改成
select count(*) into v_totalCount from TMDR01;上面那个,看不出来你要查询这么多列干嘛,返回的又是多列,建议用游标来处理。
利用查询语句 给 v_totalCount 复制 是这样的 select count(*) into v_totalCount from TMDR01;
应该怎么写啊?
应该怎么写啊?
create or replace procedure test
(
v_delflg in varchar2,
v_withdata in varchar2,
v_columnList in varchar2,
RefCur_MasterBO out SYS_REFCURSOR,
v_totalCount out varchar2
)
as
begin
open RefCur_MasterBO for SELECT F001,F002,F003,F004,F005,F006,F007,UPDID,UPDDT FROM TMDR01; select count(*) into v_totalCount from TMDR01 ;
end test;
(
v_delflg in varchar2,
v_withdata in varchar2,
v_columnList in varchar2,
RefCur_MasterBO out varchar2,
v_totalCount out varchar2
)
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 …… from 应该就可以了