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

oracle 存储过程在现实中的应用都有哪些?

发布网友 发布时间:2022-05-02 13:21

我来回答

3个回答

懂视网 时间:2022-05-02 17:43


drop procedure if exists upload_combo_complete;
CREATE PROCEDURE upload_combo_complete (uid INT,combo VARCHAR(100))

BEGIN
DECLARE t_error INTEGER DEFAULT 0;
DECLARE tmpcount INTEGER DEFAULT 0;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1;
START TRANSACTION;
select count into tmpcount from combocomplete where code = combo;
IF (tmpcount > 0) THEN
IF uid = -1 THEN
update combocomplete set count = tmpcount+1 where code = combo;
ELSE
insert into combouidcomplete (uid,code,time) values(uid,combo,UNIX_TIMESTAMP(NOW()));
update combocomplete set count = tmpcount+1 where code = combo;
END IF;
ELSE
IF uid = -1 THEN
insert into combocomplete (code,count) values(combo,1);
ELSE
insert into combouidcomplete (uid,code,time) values(uid,combo,UNIX_TIMESTAMP(NOW()));
insert into combocomplete (code,count) values(combo,1);
END IF;
END IF;

IF t_error = 1 THEN
ROLLBACK;
ELSE
COMMIT;
END IF;
END //

delimiter ;

③ 在方法中调用存储过程:
def upload_complete_status(uid,app,SPORTPLANDB,combolist):
for item in combolist:
sql="call upload_combo_complete(%d,‘%s‘)"%(uid,item)
try:
MySQL.callproc(sql=sql,db=SPORTPLANDB)
return 0
except Exception,e:
logutils.info(‘info‘,‘m:upload_complete_status,Exception is %s‘%(e))
return -20003


补充:方法中的 MYSQL.callproc 定义如下:
@classmethod
def callproc(cls, sql, params=None, db=GeneralConf.SDB):
try:
cursor = connections[db].cursor()
cursor.execute(sql, params)
finally:
cursor.close()
 

数据库存储过程的实际应用

标签:mysql   arch   新建   gen   else   time   django   strong   unix   

热心网友 时间:2022-05-02 14:51

1. 不愿过多的暴露数据库的结构,通过存储过程的调用,将结果直接结果返回给java程序(多为第三方的),而不用把数据结构告诉第三方

2. 承担部分业务逻辑处理:oracle数据库运行计算速度也是很快了,通过存储过程可以承担部分业务逻辑,减轻web服务器的压力

3. oracle 自身的job应用,需要调用存储过程

4. 其他应该软件需要调用存储过程。如:IVR,datastation

不知道这样说有问题不,参考下吧,也请后面的人补充

热心网友 时间:2022-05-02 16:09

简单的说,对于数据密集型的操作,如定时任务、大批量数据处理等不方便在中间件和客户端进行处理的都可以通过调用数据库存储过程的方式进行处理。
但是使用数据库端实现方式需要慎重,存储过程会使用大量数据库CPU时间,造成数据库性能低下。
所以一般建议使用中间件资源进行业务逻辑的实现,尽量避免使用存储过程。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 华硕笔记本电脑触摸板怎么开笔记本电脑触摸板怎么开启和关闭_百度知 ... 陕西职务侵占案立案准则 结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 古代将同事称作什么? 儿童英语故事有哪些 英语童话故事带译文的 可爱的家 歌词 求能够表达父亲对儿子的思念的歌,要求更够感人泪下的。拜托!!! 儿子长大成家有了媳妇 妈妈少了儿子这份陪伴 想儿子 用什么歌可表达含义 奖金会计分录 老师,给员工发现金奖励,该怎么做会计分录 为什么桌面上的图标都变成白色的图标? 图标是白色的,为什么 为什么我的图标是白色的,为什么 为什么我有些图标是白色的 为什么我绝地求生的图标是空白的 - 信息提示 浙江高考第三批,几号可以查询录取情况,在哪里查 浙江高考提前批什么时候可以知道被录取了? (高考)在哪里可以查到自己有没有被录取? 【高考】怎么在网上查询自己是否被学校录取? 浙江省高考志愿填报怎么才能查询有没有被录取 2016年浙江高考志愿填报投档后怎么查询被录取时间 同事在古代的称谓是什么啊 现在管一起工作的伙伴叫同事,古代怎么叫? 老同事的别称有哪些? 谁知道中国达人秀里面有个小孩子唱的思念母亲的歌叫什么名字 曾经一起共事过的人有哪些称呼? 初中英语童话故事 适合母亲和孩子合唱的歌曲 同仁是什么意思,跟同事有何区别同上 谁知道怎么查询前几次QQ登陆的IP,谢谢了 母亲失去孩子的歌曲? 曾经共事的同事叫什么 同事之间如何称呼 怎么称呼同事? 如何文雅的称呼迟到的同事? 大一最应该有的学习计划是怎样的? 哈弗H6(红标)空调系统的按钮分别都是干什么的? 哈弗h6运动版的空调控制面板mode键是什么意思? 高一地理必修二复习提纲!人教版的 请问刚注册的新公司需要做代账报税吗? 高一地理必修一必修二知识点提纲