帥哥,比我強多了,
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是怎麼用的???
解决方案 »
- 新手请教:oracle存储过程 输入表名,返回dataset
- oracle突然无法用PLSQL Developer和toad打开,但在DOS下却又能连接成功。
- 这个问题怎么解决
- c++与orale的赋值的问题?
- 做WEB系统开发MIS方向,Oracle要掌握到什么程度?请给个简要的列表,现在用哪个版本比较好?
- 存储过程中创建临时表
- Oracle10g启动的线程
- 请怎样根据原来存在的表的表结构创建一张新表??
- 100分求SQL--->oracle的函数????
- 请问大家有没有oracle联机热备、恢复的文档
- 帮忙把一个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了