使用Oracle数据库实现Python数据持久
2010-09-22 11:08:54 来源:WEB开发网设计基础数据库
一般来说,最好从设计基础数据库开始。假设您创建了一个用户模式并授予其创建和操作模式对象所需的所有权限,那么第一步就是创建基础表。在这种特殊情况下,您将需要一个唯一的名为 otn_articles_rss 的表,创建该表的方式如下:
CREATE TABLE otn_articles_rss (
guid VARCHAR2(100) PRIMARY KEY,
title VARCHAR2(200),
pubDate VARCHAR2(32),
link VARCHAR2(200),
clicks INTEGER
);
下一步是设计一个将在 Python 代码中调用的名为 count_clicks 的存储过程,它更新 otn_articles_rss 表中的数据。继续 count_clicks 过程之前,您必须先回答以下问题:当 count_clicks 尝试更新尚未插入到 otn_articles_rss 表中的文章记录的 clicks 字段时,会发生什么情况呢?假设一个新项目刚刚添加到 RSS 页面,然后指向该项目的链接出现在您的站点上。当有人单击该链接时,系统将从负责处理指向 OTN 文章的链接上执行的单击次数的 Python 代码中调用 count_clicks PL/SQL 过程。显然,处理第一次单击时,在 count_clicks 过程中发出的 UPDATE 语句将失败,因为现在还没有要更新的行。
要适应此类情况,您可以在 count_clicks 过程中实现一个 IF 块,如果由于 UPDATE 找不到指定的记录而将 SQL%NOTFOUND 属性设置为 TRUE 时,该块会发挥作用。在该 IF 块中,只要指定了 guid 和单击次数,您就可以先将一个新行插入到 otn_articles_rss 表中。之后,您应该提交这些更改,以便这些更改立即可用于其他用户会话,这些会话可能也需要更新新插入的文章记录的 clicks 字段。最后,您应该更新该记录,设置其 title、pubDate 和 link 字段。该逻辑可以作为一个单独的过程(比如 add_article_details)来实现,该过程的创建方式如下:
- ››使用脚本恢复WinXP系统的用户登录密码
- ››使用phpMyadmin创建数据库及独立数据库帐号
- ››使用Zend Framework框架中的Zend_Mail模块发送邮件...
- ››使用cout标准输出如何控制小数点后位数
- ››使用nofollow标签做SEO的技巧
- ››数据库大型应用解决方案总结
- ››Oracle 数据库导入导出 dmp文件
- ››使用 WebSphere Message Broker 的 WebSphere Tra...
- ››使用SQL Server事件探查器做应用程序的性能分析
- ››使用SQL Server事件探查器分析死锁原因
- ››Oracle Application Server 的安装
- ››使用纯文本文件打造WCF服务
更多精彩
赞助商链接