惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
博客园 - 司徒正美
小众软件
小众软件
H
Help Net Security
博客园 - 聂微东
宝玉的分享
宝玉的分享
Jina AI
Jina AI
酷 壳 – CoolShell
酷 壳 – CoolShell
阮一峰的网络日志
阮一峰的网络日志
M
MIT News - Artificial intelligence
博客园 - 【当耐特】
U
Unit 42
大猫的无限游戏
大猫的无限游戏
Apple Machine Learning Research
Apple Machine Learning Research
S
SegmentFault 最新的问题
腾讯CDC
MongoDB | Blog
MongoDB | Blog
云风的 BLOG
云风的 BLOG
J
Java Code Geeks
I
InfoQ
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Martin Fowler
Martin Fowler
博客园 - 三生石上(FineUI控件)
Vercel News
Vercel News

博客园 - 土鸟

微信挪车功能成功上线,祝贺一下自己 Form personization(Form 个性化)报无权限 (OSP)外包工单关工单失败 failed jobs because of past close date,关工单报错 APP-BOM-20516 错误处理一例 Outer Join Query Over Dblink Can Fail With ORA-904 (Doc ID 730256.1) Some User Can Not Execute "Ship Confirm"(Doc ID 473312.1) Oracle Purchasing QUESTIONS AND ANSWERS 符合中国人习惯的oracle取周的日期函数 Form开发中Block的顺序 Form开发技巧二-----SPECIAL1菜单编成 Form开发技巧一 ------- 相同ORG只允许同时一个Session作业 提高电脑运行速度---清理内存工具 Oracle ADI 错误及解决方式汇总---来自metalink Oracle EBS付款条件 Examples To howto Insert into Transaction Open Interface 传说中的蹭网卡 无法建BOM APP-SQLGL-08252异常处理
关于Forms_ddl的应用
土鸟 · 2013-05-07 · via 博客园 - 土鸟

      最近开发一个Form,需要用动态SQL,在网上搜索,发现可以用Forms_ddl来实现。试了很久,不成功,后发现是字符串连接的方式有问题,修正后终于OK. 以下是代码,供大家参考!

DECLARE

   CURSOR c1

   IS

      SELECT COUNT (1)

        FROM  inv_customs_items

       WHERE inventory_items = :find.inventory_items;

   v_count             NUMBER;

   p_attribute_no       VARCHAR2 (30);

   p_attribute          VARCHAR2 (30);

   p_sql               VARCHAR2 (200);

   p_inventory_items    VARCHAR2 (30);

   p_user_id           NUMBER;

BEGIN

   IF :find.inventory_items IS NULL

   THEN

      show_alert_message ('Inventory_items 必须输入!');

      RAISE form_trigger_failure;

   END IF;

   OPEN c1;

   FETCH c1

    INTO v_count;

   CLOSE c1;

   IF v_count < 1

   THEN

      INSERT INTO inv_customs_items

                  (inventory_items, created_by, creation_date

                  )

           VALUES (:find.inventory_items, :parameter.user_id, SYSDATE

                  );

   END IF;

   p_user_id:= :parameter.user_id;

   GO_BLOCK ('item');

   FIRST_RECORD;

   LOOP

      EXIT WHEN :item.attribute_name IS NULL;

      p_attribute_no := :item.attribute_no;

      p_attribute := :item.ATTRIBUTE;

      p_inventory_items := :find.inventory_items;

      BEGIN

         p_sql :=

               'update INV_CUSTOMS_ITEMS set LAST_UPDATE_DATE=sysdate,LAST_UPDATED_BY='

            || to_char(p_user_id)

            || ','

            || p_attribute_no

            || '= '''

            || p_attribute

            || ''' where inventory_items ='''

            || p_inventory_items

            || '''';

         FORMS_DDL (p_sql);

      EXCEPTION

         WHEN OTHERS

         THEN

            show_alert_message ('保存失败!');

            RAISE form_trigger_failure;

      END;

      NEXT_RECORD;

   END LOOP;

   COMMIT_FORM;

   FIRST_RECORD;

   show_alert_message ('恭喜您,保存成功');

END;