楼主: Kiara_xfn

求:form开发的save问题?

[复制链接]
论坛徽章:
29
会员2006贡献徽章
日期:2006-04-17 13:46:342010广州亚运会纪念徽章:射箭
日期:2011-03-01 21:31:292011新春纪念徽章
日期:2011-03-30 12:52:55ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28茶鸡蛋
日期:2011-12-29 09:09:26灰彻蛋
日期:2012-05-08 21:41:09奥运会纪念徽章:花样游泳
日期:2012-07-18 13:23:53奥运会纪念徽章:艺术体操
日期:2012-10-19 20:42:50奥运会纪念徽章:田径
日期:2012-10-26 20:50:36蜘蛛蛋
日期:2012-12-29 08:17:35
11#
发表于 2006-4-20 12:14 | 只看该作者
这个参照EBS标准的方法
自己写on-insert ,on-update,on-delete,on-insert ,on-lock trigger

使用道具 举报

回复
论坛徽章:
29
会员2006贡献徽章
日期:2006-04-17 13:46:342010广州亚运会纪念徽章:射箭
日期:2011-03-01 21:31:292011新春纪念徽章
日期:2011-03-30 12:52:55ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28茶鸡蛋
日期:2011-12-29 09:09:26灰彻蛋
日期:2012-05-08 21:41:09奥运会纪念徽章:花样游泳
日期:2012-07-18 13:23:53奥运会纪念徽章:艺术体操
日期:2012-10-19 20:42:50奥运会纪念徽章:田径
日期:2012-10-26 20:50:36蜘蛛蛋
日期:2012-12-29 08:17:35
12#
发表于 2006-4-20 12:17 | 只看该作者

Re: 求:form开发的save问题?

最初由 Kiara_xfn 发布
[B]点击工具条上的save钮以后,触发的是什么动作?如何捕捉?


系统会在保存之前先验证,如果界面上没有更改就不允许保存,如果想绕开该验证,该如何做?

因为我的block显示的是一个view的数据,还有两列没有源的item,当用户点选‘保存’的时候,我需要进行的是将显示出来的数据和另两列数据都保存到另外的一个table里,所以需要绕开。


高手的话,还有什么其它的建议? [/B]


并不是所有的View都可以做insert DML操作的自己override  on-insert才是正道
虽然key-commit也可以做,但是要作的判断太多

使用道具 举报

回复
论坛徽章:
0
13#
 楼主| 发表于 2006-4-20 13:29 | 只看该作者
我更改了RELATIONS中的DETAIL的BLOCK的数据(基于VIEW),点击存储时,
错误信息如下;

FRM-40501: ORACLE error: unable to reserve record for update or delete.
--------------------------------------------------------------
ORA-01446: cannot select ROWID from view with DISTINCT, GROUP BY, etc.


请问如何处理?

使用道具 举报

回复
论坛徽章:
0
14#
 楼主| 发表于 2006-4-20 13:50 | 只看该作者
CREATE OR REPLACE TRIGGER XXNNE_REPORTS_ONLINE_TRI1
INSTEAD OF UPDATE ON XXNNE_REPORTS_ONLINE_VIEW
REFERENCING NEW AS NEW
FOR EACH ROW
BEGIN
  XXNNE_REPORTS_ONLINE_PKG.UPDATE_ROW
  (
    X_APPLICATION_ID                  => :NEW.APPLICATION_ID,
    X_RESPONSIBILITY_ID          => :NEW.RESPONSIBILITY_ID,
    X_PROGRAM_ID                          => :NEW.PROGRAM_ID,
    X_PROGRAM_TYPE                          => :NEW.PROGRAM_TYPE,
    X_PROGRAM_APPLICATION_ID => :NEW.PROGRAM_APPLICATION_ID,
    X_FROM_DATE                          => :NEW.FROM_DATE,
        X_TO_DATE                                  => :NEW.END_DATE,
    X_ENABLE                                  => :NEW.CHK_SHOW,
    X_CREATED_BY                          => :NEW.CREATED_BY,
    X_CREATION_DATE                  => :NEW.CREATION_DATE,
    X_LAST_UPDATED_BY                  => :NEW.LAST_UPDATED_BY,
    X_LAST_UPDATE_LOGIN          => :NEW.LAST_UPDATE_LOGIN
   );

END UPDATE_ROW;


这是我写的一个TRIGGER, 视图 XXNNE_REPORTS_ONLINE_VIEW就是DETAIL BLOCK的数据源TABLE。在XXNNE_REPORTS_ONLINE_PKG中,有INSERT / UPDATE 语句。结合上面的错误提示,各位高手有什么解决方法?

使用道具 举报

回复
论坛徽章:
29
会员2006贡献徽章
日期:2006-04-17 13:46:342010广州亚运会纪念徽章:射箭
日期:2011-03-01 21:31:292011新春纪念徽章
日期:2011-03-30 12:52:55ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28茶鸡蛋
日期:2011-12-29 09:09:26灰彻蛋
日期:2012-05-08 21:41:09奥运会纪念徽章:花样游泳
日期:2012-07-18 13:23:53奥运会纪念徽章:艺术体操
日期:2012-10-19 20:42:50奥运会纪念徽章:田径
日期:2012-10-26 20:50:36蜘蛛蛋
日期:2012-12-29 08:17:35
15#
发表于 2006-4-20 14:32 | 只看该作者
不明白你思路,怎么在又跑到view上写DB  Trigger?
而且没有看出你 这个DB Trigger有什么作用
首先,你要确定,你的View能不能够做DML操作
你建立View的时候有没有把rowid串上?

使用道具 举报

回复
论坛徽章:
0
16#
 楼主| 发表于 2006-4-20 15:07 | 只看该作者
‘你建立View的时候有没有把rowid串上?’

---没有。

使用道具 举报

回复
论坛徽章:
0
17#
 楼主| 发表于 2006-4-20 15:08 | 只看该作者
最初由 yingqing 发布
[B]不明白你思路,怎么在又跑到view上写DB  Trigger?
而且没有看出你 这个DB Trigger有什么作用
首先,你要确定,你的View能不能够做DML操作
你建立View的时候有没有把rowid串上? [/B]



不过,我还是想搞清楚“建立View的时候有没有把rowid串上”具体是怎么实现的?可否给个简单的例子,或是一小段伪代码?


我得这个VIEW所基于的TABLE都不含有ROW_ID,我该如何做?

使用道具 举报

回复
论坛徽章:
7
授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB元老
日期:2006-07-16 22:33:42ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44奥运会纪念徽章:羽毛球
日期:2008-09-05 09:13:28生肖徽章2007版:龙
日期:2009-04-29 10:18:26ITPUB学员
日期:2010-01-05 10:37:53
18#
发表于 2006-4-20 16:19 | 只看该作者
只要加上列,从TABLE.ROWID

使用道具 举报

回复
论坛徽章:
0
19#
 楼主| 发表于 2006-4-20 16:32 | 只看该作者
最初由 fish919 发布
[B]只要加上列,从TABLE.ROWID [/B]


我得这个VIEW所基于的TABLE都不含有ROWID,我该如何做?

可否给个例子说明具体怎么用?

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
20#
发表于 2006-4-20 16:37 | 只看该作者
table不含rowid?

使用道具 举报

回复

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

本版积分规则 发表回复

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