存储过程的问题

问题描述

PROCEDUREDoManualDataUploadISdtStartDATE;dtEndDATE;strStatusVARCHAR2(40);strDescVARCHAR2(1000);strSysSignVARCHAR2(40);BEGINstrSysSign:='ITGQRY_MANUAL';UtilityFunc.setSyssign@appdblink(strSysSign);BEGINSELECTTRUNC(max(eci.last_fatch_end_date))INTOdtStartFROMetl_control_infoeciWHEREeci.sys_signin('ITGQRY_MANUAL','ITGQRY');SELECTeci.etl_statusINTOstrStatusFROMetl_control_infoeciWHEREeci.sys_sign=strSysSign;EXCEPTIONWHENOTHERSTHENdtStart:=TRUNC(SYSDATE-1);END;dtEnd:=SYSDATE;IFstrStatus<>'STOP'THENstrDesc:='***已经有一个实例在运行,加载结束***';UtilityFunc.WriteLog@appdblink('DataUpload.DoManualDataUpload','M','etl_control_info','S',strDesc);COMMIT;RETURN;ENDIF;UtilityFunc.LogReset@appdblink();UtilityFunc.SetLogStatus@appdblink(dtStart,dtEnd,'RUNNING');strDesc:='MIS数据手动加载过程启动,处理日期范围:'||to_char(dtStart,'YYYY-MM-DDHH24:MI:SS')||'至'||to_char(dtEnd,'YYYY-MM-DDHH24:MI:SS');UtilityFunc.WriteLog@appdblink('DataUpload.DoManualDataUpload','M','etl_control_info','S',strDesc);FECHDATA20080122.FetchCommonData(dtStart,dtEnd,1,false);FECHDATA20080122.FetchBalance(dtStart,dtEnd,1);FECHDATA20080122.FetchGLData(dtStart,dtEnd,1);PUSHDATA20080131.PushCommonData(dtStart,dtEnd);PUSHDATA20080131.PuchBalance(dtStart,dtEnd);PUSHDATA20080131.PushGLData(dtStart,dtEnd);DealData.UpdateSegments;DealData.UpdateBalances;DealData.UpdateJeHeaders;DealData.UpdateJeLines;--整理mv数据FCM_ITGQRY_PKG.MANUAL_REFRESH_MV_DATA@appdblink(dtStart,dtEnd);strDesc:='***MIS手动数据加载过程结束***';UtilityFunc.WriteLog@appdblink('DataUpload.DoManualDataUpload','M','etl_control_info','S',strDesc);UtilityFunc.SetLogStatus@appdblink(dtStart,dtEnd,'STOP');COMMIT;EXCEPTIONWHENOTHERSTHENstrDesc:='***MIS手动数据加载过程以失败结束:'||sqlerrm;UtilityFunc.WriteLog@appdblink('DataUpload.DoManualDataUpload','M','etl_control_info','S',strDesc);UtilityFunc.SetLogStatus@appdblink(dtStart,dtStart,'STOP');DBMS_OUTPUT.put_line(SQLERRM);ROLLBACK;ENDDoManualDataUpload;BEGINNULL;ENDDataUpload;大家帮忙看看这个存储过程是什么作用啊。是往数据库中保存数据吗?还是获取数据啊。

解决方案

解决方案二:
转到SQL区去看看,祝好运
解决方案三:
上面是一个Oracle的存储过程,把etl_control_info表中eci.last_fatch_end_date字段的最大值复制到dtStart表中,并把eci.last_fatch_end_date表中的etl_status字段赋值给strStatus,不正确时就捕捉异常,如果strStatus的值等于Stop就一直循环,直到strStatus的值不等于Stop时就提示“***已经有一个实例在运行,加载结束***”。我自己理解的,希望对你有帮助,呵呵......
解决方案四:
--->大家帮忙看看这个存储过程是什么作用啊。是往数据库中保存数据吗?还是获取数据啊。select么!==
解决方案五:
搜索关键字,insert,delete,update
解决方案六:
保存数据

时间: 2024-09-08 11:26:04

存储过程的问题的相关文章

用PHP执行Oracle存储过程示例

oracle|存储过程|示例|执行 <?//在oracle中执行存储过程示例//供大家参考$gConn=ocilogon("test","test"); /* OCIDefineByPos example thies@digicol.de (980219) *///discrate与nEcode是out parameter,其余均是 in parameter.//存储过程get_discrate存放于package ebiz_pg中.$stmt = OCIPa

sql-关于单表SQL存储过程查询。分页条数,当前页码,总条数的问题

问题描述 关于单表SQL存储过程查询.分页条数,当前页码,总条数的问题 我实现PUB_AREA 表的数据查询, 上面是我写的调试, 指出在下面and处报错,无布尔类型,不知道到底哪里错了- - declare @TotalNum intexec PUB_AREA_SelectAREACITYByHsfSearchss ''101@TotalNum outputselect @TotalNumalter PROCEDURE [dbo].[PUB_AREA_SelectAREACITYByHsfSe

asp 用存储过程实现数据分页

存储过程|分页|数据 一.创建表 tiku_koushi if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tiku_koushi]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[tiku_koushi]GO CREATE TABLE [dbo].[tiku_koushi] ([id] [int] IDENTITY (1, 1)

settings-orcal 中存储过程 这样写对吗

问题描述 orcal 中存储过程 这样写对吗 create or replace procedure PageList(tbName IN VARCHAR(255),tbFieldsIN VARCHAR(1000), orderField IN VARCHAR(255),orderType IN INT,strWhere IN VARCHAR(1000),pageSize IN INT,pageIndex IN INT,pageRecord OUT INT) is BEGIN /*定义变量*/

[NHibernate]存储过程的使用(二)

目录 写在前面 文档与系列文章 创建对象 更新对象 总结 写在前面 上篇文章介绍了如何使用MyGeneration代码生成器生成存储过程,以及nhibernate中通过存储过程删除数据的内容,这篇文章将介绍如何创建对象,更新对象. 文档与系列文章 [Nhibernate]体系结构 [NHibernate]ISessionFactory配置 [NHibernate]持久化类(Persistent Classes) [NHibernate]O/R Mapping基础 [NHibernate]集合类(

int-求大神 帮我看下这个存储过程哪里错了

问题描述 求大神 帮我看下这个存储过程哪里错了 DROP PROCEDURE IF EXISTS Query_Role_PhoneRecord;DELIMITER ;;CREATE DEFINER=root@% PROCEDURE Query_Role_PhoneRecord( in userId binary(16)in pagNo intin pagSize int )BEGINdeclare bSize int; set bSize=(pagNo-1)*pagSize;if(bSize<0

sqlserver 存储过程-关于一个数据库触发器的问题

问题描述 关于一个数据库触发器的问题 请教一个数据库相关的问题 各位大神好,小弟现正使用sqlserver数据库,现有这么一个需求, 需要监视有关 表A 的插入,修改,删除 操作,并需要将新的整条数据形成类似 <tbrecord id="某一行的ID" columnAname="该行的列名为columnAname的值" columnBname="该行的列名为columnAname的 值">tbName(表的名称) 一个xml字符串保存

CI调用存储过程很慢怎么提速,mysql存储过程本身执行很快,但是在php调用就要0.8s

问题描述 CI调用存储过程很慢怎么提速,mysql存储过程本身执行很快,但是在php调用就要0.8s $this -> db -> reconnect(); $mysqli = new mysqli(); $mysqli -> query(""SET NAMES utf8""); if (mysqli_connect_errno()) { printf('Connect failed: %s ' mysqli_connect_error()); e

delphi 通过 ado 访问数据库存储过程,如果有插入动作,为什么会执行两遍?

问题描述 delphi 通过 ado 访问数据库存储过程,如果有插入动作,为什么会执行两遍? 20C 如题.这是我反复测试后得出的结论.我实在不理解为什么. 具体测试过程是这样子的:我用ado连接数据库.然后我写了一个简单的存储过程,就是往表里插入数据.然后我用ado调用这个存储过程.然后我就发现,虽然程序里我只调用了一次,但实际上表里的数据却被插入了完全一模一样的两条. 这算是bug还是怎么回事?是不是有什么我不曾注意到的细节没处理好? 存储过程代码如下: create procedure p

PL/SQL的存储过程和函数(原创)

存储过程概述 存储过程是子程序的一种类型,能够完成一些任务,作为schema对象存储于数据库.是一个有名字的PL/SQL代码块,支持接收或不接受参数,同时也支持参数输出.一个存储过程通常包含定义部分,执行部分,Exception部分,可以被其他子程序调用,也可以被重用.过程定义CREATE [OR REPLACE]PROCEDURE procedure_name[(argument_name [IN | OUT | IN OUT] argument_type)]AS | ISBEGIN    p