问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

在数据库的存储存储过程中,怎么调用返回多个参数

发布网友 发布时间:2022-04-10 10:22

我来回答

3个回答

懂视网 时间:2022-04-10 14:43

/***Manager***/CREATE OR REPLACE PROCEDURE "GZAPP_09"."SP_OLAP_V_BUILDINGTYPE"("P_DATE" IN DATE)
AUTHID DEFINER
IS
/*=============================================================
*功能说明:房屋类型分析(高层楼宇,多层楼宇,临时棚屋,其它)
* 统计市级别,行政区,街镇,居委会
* 入口参数:统计时间
* 出口参数:无
* 创建人及时间: dfb 20160922
* 修改人及时间:
*============================================================*/
v_sqlcode number;
v_sqlerrm varchar2(4000);
v_begintime varchar2(20);
v_endtime varchar2(20);
v_fwdlx varchar2(10);
v_sql varchar2(5000);
BEGIN
v_begintime:=to_char(sysdate,‘yyyy/mm/dd hh24:mi:ss‘);
EXECUTE IMMEDIATE ‘TRUNCATE TABLE TN_OLAP_V_BUILDINGTYPE_TMP1‘;
delete from OLAP_V_BUILDINGTYPE;
commit;

insert into TN_OLAP_V_BUILDINGTYPE_TMP1(
TJQY,
QYDM,
FWLX01 ,
FWLX02 ,
FWLX03 ,
FWLX04 )

SELECT TJQY,
qydm,
FWLXGCLY FWLX01,--高层楼宇类型栋数
FWLXDCLY FWLX02,--低层楼宇类型栋数
FWLXLSPW FWLX03,--临时棚屋类型栋数
FWLXQT FWLX04 --其他类型栋数
FROM T_STAT_CZWD
where tjrq=p_date
and bblx=‘M‘;
COMMIT;

-- 01-04类房屋栋类型
for fwdlx in 1 .. 4 loop

if fwdlx < 10 then
v_fwdlx := ‘0‘ || fwdlx;
else
v_fwdlx := fwdlx;
end if;

v_sql :=‘INSERT INTO OLAP_V_BUILDINGTYPE
( BUITYPEDM,--房屋栋类型代码
BUITYPEMC,--房屋栋类型名称
TJQY,--统计区域
QYDM,--区域代码
QYMC,--区域名称
XZQDM,--行政区代码
XZQ, --行政区名称
JZDM ,--街镇代码
JZ, --街镇名称
JWHDM,--居委会代码
JWH , --居委会名称
AMOUNT--数量
)
select t.FWDLX,
a.mc,
t.tjqy,
t.qydm,
case when tjqy=‘‘SHIJB‘‘ THEN ‘‘全市‘‘
when tjqy=‘‘XZQ‘‘ then b.xzq
when tjqy=‘‘JZ‘‘ THEN b.jz
when tjqy=‘‘JWH‘‘ THEN b.jwh
end qymc,
b.xzqdm,
b.xzq,
b.jzdm,
b.jz ,
b.jwhdm,
b.jwh,
t.amount
from (select ‘‘‘||v_fwdlx||‘‘‘ FWDLX,qydm ,FWLX‘||v_fwdlx||‘ amount,tjqy from TN_OLAP_V_BUILDINGTYPE_TMP1) t,
--(select * from t_xtzd where dmlx=‘‘FWLX‘‘) a,
(select BUITYPEDM dm,BUITYPEMC mc,id from OLAP_MEASURE_BUILDINGTYPE) a,--把系统字典表改成这个维表 修改于2016.10.11 dfb
OLAP_V_LOCALAREA b
where t.FWDLX=a.id
and t.qydm=b.qydm ‘;
execute immediate v_sql;
end loop;

v_endtime:=to_char(sysdate,‘yyyy/mm/dd hh24:mi:ss‘);
--记录程序执行开始时间和结束时间
insert into T_LOG(pro_name,tj_date,begin_time,end_time,run_result) values(‘SP_OLAP_V_BUILDINGTYPE‘,p_date,v_begintime,v_endtime,‘Y‘);
commit;
--异常处理
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
v_sqlcode :=sqlcode;
v_sqlerrm :=substr(sqlerrm, 1, 2000);
insert into T_LOG(pro_name,err_time,err_code,err_infor,run_result,tj_date) values(‘SP_OLAP_V_BUILDINGTYPE‘,sysdate,v_sqlcode,v_sqlerrm,‘N‘,p_date);
commit;
DBMS_OUTPUT.PUT_LINE(SUBSTR(SQLERRM, 1, 200));

END SP_OLAP_V_BUILDINGTYPE;

 

------------------------------------------------存储过程调用-----------------------------------------------

/***Manager***/CREATE OR REPLACE PROCEDURE "GZAPP_09"."PKG_STAT_DAY"("P_DATE" IN DATE)
AUTHID DEFINER

IS
/*=============================================================
*功能说明:日报表调度汇总
* 入口参数:统计时间
* 出口参数:无
* 创建人及时间: dfb 20160906
* 修改人及时间:
*============================================================*/
v_sqlcode number;
v_sqlerrm varchar2(4000);
v_begintime varchar2(20);
v_endtime varchar2(20);
BEGIN

v_begintime:=to_char(sysdate,‘yyyy/mm/dd hh24:mi:ss‘);

SP_OLAP_V_BUILDINGTYPE(p_date);
v_endtime:=to_char(sysdate,‘yyyy/mm/dd hh24:mi:ss‘);
--记录程序执行开始时间和结束时间
insert into T_LOG(pro_name,tj_date,begin_time,end_time,run_result) values(‘PKG_STAT_DAY‘,p_date,v_begintime,v_endtime,‘Y‘);
commit;
--异常处理
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
v_sqlcode :=sqlcode;
v_sqlerrm :=substr(sqlerrm, 1, 2000);
insert into T_LOG(pro_name,err_time,err_code,err_infor,run_result,tj_date) values(‘PKG_STAT_DAY‘,sysdate,v_sqlcode,v_sqlerrm,‘N‘,p_date);
commit;
DBMS_OUTPUT.PUT_LINE(SUBSTR(SQLERRM, 1, 200));

END PKG_STAT_DAY;

达梦数据库存储过程及存储过程调用

标签:creat   修改   行政区   处理   begin   auth   tput   bst   replace   

热心网友 时间:2022-04-10 11:51

在存储过程的参数表中加入你要输出的参数.
SQL SERVER中输出参数要在定义时加上output关键字。

热心网友 时间:2022-04-10 13:09

在参数上使用 OUTPUT

1> CREATE PROCEDURE HelloWorld2
2> @UserName VARCHAR(10),
3> @OutVal VARCHAR(10) OUTPUT,
4> @InoutVal VARCHAR(10) OUTPUT
5> AS
6> BEGIN
7> PRINT 'Hello ' + @UserName + @InoutVal + '!';
8> SET @OutVal = 'A';
9> SET @InoutVal = 'B';
10> END;
11> go

1>
2> DECLARE @RC int, @OutVal VARCHAR(10), @InoutVal VARCHAR(10);
3> BEGIN
4> SET @InoutVal = '~Hi~';
5> EXECUTE @RC = HelloWorld2 'Edward', @OutVal OUTPUT, @InoutVal OUTPUT;
6> PRINT @RC;
7> PRINT '@OutVal=' + @OutVal;
8> PRINT '@InoutVal=' + @InoutVal;
9> END
10> go
Hello Edward~Hi~!
0
@OutVal=A
@InoutVal=B追问在oracle数据库中,存储过程怎么写?

参考资料:http://hi.baidu.com/wangqing999/blog/item/78976c07501d1c86d43f7cb2.html

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
瑞安皇都大厦几个电梯 办签证和护照的具体步骤和一共的费用!我需要详细一点的答案. 办护照流程 办护照的流程是什么 哪位推荐几部韩剧啊!!要像豪杰春香,魔女幼熙这样的,剧情要感人,最好是... 小阴唇内应该是光滑的吗,阴道口痒为什么 阴道口有像草莓样正常吗 任氏族谱字辈:世秉忠贞 永达明玉起 国正天元律迎祖大继昌 河南夏氏家谱辈分我是永城市酂城镇夏氏夏世界具家谱记载洪武二年始祖良... 夏侯姓字辈排行 夏氏辈行,我爷爷明字辈,我父亲应字辈,我是崇字辈,后面是什么辈? excel中countif函数怎么用有多个条件 中国能源建设集团安徽电力建设第二工程有限公司怎么样? 10千伏架空线路对地垂直距离是多少米 云南云胜电力工程有限公司怎么样? 输电线路孤立档内不得有接头是哪个标准规定的,十分感谢! 建筑监理收费占到工程总造价的多少 湖北联朋四方电力工程有限公司怎么样? 安徽广能电力建设有限公司怎么样? 请问什么样的工程需要二级机电建造师本 重庆景区索道多次停电悬停在半空中,你认为景区该不该赔偿游客? 重庆一景区索道停运游客被困高空,是什么原因导致的? RO∩Shen洗衣机是什么牌子? 买的快递单子没用完怎么退? 在淘宝上同一家店买了两个东西,我只想退一个东西,但它们是同一快递单号,怎么办? WFS1266CT惠而蒲滚筒洗衣机电阻R020是表示电阻多大呀? 滚筒洗衣机的高速脱水问题? 海尔洗衣机Un 海信洗衣机XQB70-C6201故障代码显示UN是什么故障? 申通快递菜鸟包裹侠怎么打退单手机版 快递用户想取消订单该如何操作 小书亭和笔趣阁哪个好? 列王的纷争怎么我选华夏文明建筑物没变,我城堡8级了,外观也没变,咋回事?我苹果系统的, 人民币体现着中国什么的特点 英雄无敌3神之苏醒所有宝物 英雄无敌3宝物英文名 货币符号有什么作用 用微喷带喷一亩地大概需要多少立方水 故宫水缸为何600年都不结冰,究竟有什么秘密? 故宫有300多个鎏金大“水缸”,它们是做什么用的? 想请教一下喷淋的设计流量计算方法 故宫水缸里的水上百年不结冰,这是为什么?如何用科学解释? 故宫里面的水缸为什么从来不结冰,这个缸是有什么独到之处呢? 微喷带灌溉3亩的大棚要选择多大的潜水泵 故宫“水缸”装满水,500多年从不结冰,如何做到的? 故宫门囗有几口水缸,是怎么做到在寒冷的北方冬季不结冰? 故宫的鎏金水缸是如何做到600年来不结冰的,有何神秘之处? 故宫的大水缸有啥用,为何600年不结冰? 众所周知北京的冬天很冷,为何故宫的水缸在冬天却不结冰? 故宫是如何做到水缸里的水在冬天可以不结冰? 樱花热水器开关没反应