帥哥,比我強多了,
CREATE OR REPLACE PROCEDURE ufanyi_TESTsa (
p_id IN varchar2,
p_name in VARCHAR2,
p_msg OUT VARCHAR2,
m_casenum IN VARCHAR2,
m_grant_unit IN VARCHAR2
一直都不怎麼明白in,out是怎麼用的???
CREATE OR REPLACE PROCEDURE ufanyi_TESTsa (
p_id IN varchar2,
p_name in VARCHAR2,
p_msg OUT VARCHAR2,
m_casenum IN VARCHAR2,
m_grant_unit IN VARCHAR2
一直都不怎麼明白in,out是怎麼用的???
解决方案 »
- ERwin 模型在复制表或保存变很慢
- 为什么我的SQL不走index
- [请教:]如何在数据表的字段之间追加新字段
- oracle分页语句效率的疑问,请指教
- 用友NC和浪潮myGS软件哪个更好一些??
- index table space 怎么设呢
- oracle透明网关问题
- 如何对oracle中select并order出的数据集自动加入1、2、……序号?
- 我用Enterprise Manager Configuration Assistant创建资料库时发生错误,求救
- 非常急!!请高手指教!关于如何解锁
- 帮忙把一个sqlserver的视图转成oracle的视图
- 高分求下载Oracle Reports Builder教程
p_id IN varchar2,
p_name in VARCHAR2,
p_msg OUT VARCHAR2,
m_casenum IN VARCHAR2,
m_grant_unit IN VARCHAR2
) AS
CAPT_ORGION VARCHAR2(20),
FISCAL VARCHAR2(10),
FIS_PERD VARCHAR2(20),
PAY_DATE VARCHAR2(20),
BG_DEPTCODE VARCHAR2(20),
B_ACC_CODE VARCHAR2(20),
OUTLAY_CODE VARCHAR2(20),
BI_SUM NUMBER(18,2)
cursor fmd is /**游标的语法对了吗**/
select CAPT_ORGION,FISCAL,FIS_PERD,PAY_DATE,BG_DEPTCODE,B_ACC_CODE,OUTLAY_CODE,BI_SUM from uf_gkgz where B_ACC_CODE like p_name;begin
open fmd;
fetch fmd into CAPT_ORGION,FISCAL,FIS_PERD,PAY_DATE,BG_DEPTCODE,B_ACC_CODE,OUTLAY_CODE,BI_SUM
while fmd%not found/**** 重复地插入 这个的语法有吗 *****/
loop
insert into uf_fmd(CAPT_ORGION,FISCAL,FIS_PERD,PAY_DATE,BG_DEPTCODE,B_ACC_CODE,OUTLAY_CODE,BI_SUM)values(CAPT_ORGION,FISCAL,FIS_PERD,PAY_DATE,BG_DEPTCODE,B_ACC_CODE,OUTLAY_CODE,BI_SUM);
end loop;
close fmd;
END ufanyi_TESTsa;
p_id IN varchar2,
p_name in VARCHAR2,
p_msg OUT VARCHAR2,
m_casenum IN VARCHAR2,
m_grant_unit IN VARCHAR2
) AS
begin
declare
CAPT_ORGION VARCHAR2(20),
FISCAL VARCHAR2(10),
FIS_PERD VARCHAR2(20),
PAY_DATE VARCHAR2(20),
BG_DEPTCODE VARCHAR2(20),
B_ACC_CODE VARCHAR2(20),
OUTLAY_CODE VARCHAR2(20),
BI_SUM NUMBER(18,2)
cursor fmd is /**游标的语法对了吗**/
select CAPT_ORGION,FISCAL,FIS_PERD,PAY_DATE,BG_DEPTCODE,B_ACC_CODE,OUTLAY_CODE,BI_SUM from uf_gkgz where B_ACC_CODE like p_name;
begin
open fmd;
loop
fetch fmd into CAPT_ORGION,FISCAL,FIS_PERD,PAY_DATE,BG_DEPTCODE,B_ACC_CODE,OUTLAY_CODE,BI_SUM;
exit when fmd%notfound;
insert into uf_fmd(CAPT_ORGION,FISCAL,FIS_PERD,PAY_DATE,BG_DEPTCODE,B_ACC_CODE,OUTLAY_CODE,BI_SUM)values(CAPT_ORGION,FISCAL,FIS_PERD,PAY_DATE,BG_DEPTCODE,B_ACC_CODE,OUTLAY_CODE,BI_SUM);
end loop;
close fmd;
END;
*******************************************************************************************CREATE OR REPLACE PROCEDURE ufanyi_TESTsa (
p_id IN varchar2,
p_name in VARCHAR2,
p_msg OUT VARCHAR2,
m_casenum IN VARCHAR2,
m_grant_unit IN VARCHAR2
) AS
CAPT_ORGION VARCHAR2(20);
FISCAL VARCHAR2(10);
FIS_PERD VARCHAR2(20);
PAY_DATE VARCHAR2(20);
BG_DEPTCODE VARCHAR2(20);
B_ACC_CODE VARCHAR2(20);
OUTLAY_CODE VARCHAR2(20);
BI_SUM NUMBER(18,2);
cursor fmd is /**游标的语法对了吗**/
select CAPT_ORGION,FISCAL,FIS_PERD,PAY_DATE,BG_DEPTCODE,B_ACC_CODE,OUTLAY_CODE,BI_SUM from uf_gkgz where B_ACC_CODE like p_name;
begin
open fmd;
loop
fetch fmd into CAPT_ORGION,FISCAL,FIS_PERD,PAY_DATE,BG_DEPTCODE,B_ACC_CODE,OUTLAY_CODE,BI_SUM;
exit when fmd%notfound;
insert into uf_fmd(CAPT_ORGION,FISCAL,FIS_PERD,PAY_DATE,BG_DEPTCODE,B_ACC_CODE,OUTLAY_CODE,BI_SUM)values(CAPT_ORGION,FISCAL,FIS_PERD,PAY_DATE,BG_DEPTCODE,B_ACC_CODE,OUTLAY_CODE,BI_SUM);
end loop;
close fmd;
END;
但我想既然是用游标,那定义个 fmd%rowtype 的变量可能更好,就不用去定义这么多的varchar2和number了