楼主: zjzcz

[精华] oracle@一个很现实的问题

[复制链接]
论坛徽章:
6
生肖徽章2007版:马
日期:2009-03-27 11:58:16生肖徽章2007版:马
日期:2009-12-17 14:37:332010新春纪念徽章
日期:2010-03-01 11:19:59
41#
发表于 2003-10-25 17:29 | 只看该作者
最初由 lodge 发布
[B]

呵呵, 我们不可能是对手的, 我们公司没有在中国做过, 要是早两个月看到这个贴子, 我们也许能成合作关系呢
我们公司想在国内找合作单位, 结果一个有POS开发经验的都没找到, 只好凑合凑合和一个公司签约了.
不过, 明年下半年我们还要开发ERP, 偶正打算未雨绸缪一下, 嘿嘿. [/B]


哎可惜  了 !

我们也 准备 自己 弄一家 公司

做老本行 ,超市mis!

使用道具 举报

回复
论坛徽章:
2
2010新春纪念徽章
日期:2010-03-01 11:19:582013年新春福章
日期:2013-02-25 14:51:24
42#
发表于 2004-5-27 17:44 | 只看该作者
不对,如果执行insert或者update动作,会阻塞表,直到commit,当然和你的隔离等级有关

使用道具 举报

回复
论坛徽章:
0
43#
发表于 2004-10-11 10:16 | 只看该作者
一个简单问题讨论了一年多,肯定跑题了。对于最先的问题可以这样操作:
对应这个实时查询创建一个存放结果的空表,创建存储过程将查询结果放入此表,但注意不要
commit。前台调用此存储过程,然后select此表,最后rollback此表。这样多用户进行此操作也
不会冲突。

使用道具 举报

回复
论坛徽章:
12
会员2006贡献徽章
日期:2006-04-17 13:46:34生肖徽章2007版:兔
日期:2009-03-10 21:27:28ERP板块每日发贴之星
日期:2007-10-24 01:04:58ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44设计板块每日发贴之星
日期:2007-10-18 01:06:03ITPUB元老
日期:2007-10-11 14:47:20开发板块每日发贴之星
日期:2007-10-10 01:05:30行业板块每日发贴之星
日期:2007-10-01 01:05:12行业板块每日发贴之星
日期:2007-09-30 01:05:35会员2007贡献徽章
日期:2007-09-26 18:42:10
44#
发表于 2004-11-1 09:51 | 只看该作者
我再来顶!能不能把问题描述清楚些

使用道具 举报

回复
论坛徽章:
2
授权会员
日期:2005-10-30 17:05:33祖国60周年纪念徽章
日期:2009-10-09 08:28:00
45#
发表于 2005-3-16 10:40 | 只看该作者
看了半天没看明白你想咋做 :

你前台是什么?也是oracle吗??

使用道具 举报

回复
论坛徽章:
7
数据库板块每日发贴之星
日期:2005-03-27 01:01:21数据库板块每日发贴之星
日期:2005-05-08 01:01:23授权会员
日期:2005-11-05 17:10:38会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44喜羊羊
日期:2015-03-04 14:49:392015年新春福章
日期:2015-03-06 11:57:31
46#
发表于 2005-3-16 21:54 | 只看该作者
看不懂,什么是实时?定义是什么?
每一个SELECT都是一个Snapshot at a given time of point.
你要用Oracle,总得知道它是怎么干活的吧?

使用道具 举报

回复
论坛徽章:
1
优秀写手
日期:2014-10-16 06:00:13
47#
发表于 2005-6-23 20:27 | 只看该作者

那你就直接用PROC将数据写入临时表

那你自己建个表做临时表,就直接用PROC将数据写入临时表,然后pb直接读取结果就可以了,后台运行数据计算和前台pb直接查询表的速度应该不会有问题。查询完记得将表内数据清空既可

使用道具 举报

回复
论坛徽章:
0
48#
发表于 2005-7-1 17:22 | 只看该作者
你可不可以用视图

使用道具 举报

回复
论坛徽章:
7
沸羊羊
日期:2015-03-04 14:43:432015年新春福章
日期:2015-03-06 11:57:31
49#
发表于 2006-3-29 14:12 | 只看该作者
好多工具可以用呀,可惜我大概看一下,而已呀

使用道具 举报

回复
论坛徽章:
24
生肖徽章2007版:鸡
日期:2008-01-02 17:35:532012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:232012新春纪念徽章
日期:2012-02-13 15:09:23ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:07马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14
50#
发表于 2006-4-2 01:47 | 只看该作者
最初由 zjzcz 发布
[B]能不能说明一下,比如某用户在创建了某时间段数据(insert)然后select 这部分符合他的数据,然后另外一个用户在前一个用户的insert期间也开始创建另外一时间段的数据(insert)然后他select符合他的数据,关于这两个用户的操作,oracle是如何处理的呢?


另外我现在迫切想知道的是pb+oracle到底怎么去实现实时查询这个问题,至于用起来oracle怎么去处理内部的进程、锁等,这到不是很关键,不过能够多了解一些也是挺好的,我希望正在用PB+ORACLE的同志能够指点一下,把你们怎么做的思路告诉我一声,非常感谢了!! [/B]


解决这样的问题你首先应该好好理解oracle concepts,在oracle中的读取和写入是不会互相阻塞的,也就是说:读不阻塞写,同样写也不阻塞读。oracle对其的具体实现是通过多版本来实现的,也就是说当一个用户在向某一个表里面插入数据的同时,另外的用户也查询的话,他们两个是不会相互影响的,但是这个时候查询用户是看不到刚才写入数据用户的操作的,除非写入操作commit了。他们各自的操作其实是对应的不通的版本的两个数据,关于oracle数据的多版本,建议看看oracle concept,或者看看oracle expert one on one这本经典图书,可能会对你有很大帮助。再就是,在从一个数据库转向另外一个数据库的时候最好先做好全面的了解两个数据库的差异方面!

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表