PL SQL 代码 **ORACLE **

Posted

技术标签:

【中文标题】PL SQL 代码 **ORACLE **【英文标题】:PL SQL Code **ORACLE ** 【发布时间】:2018-05-10 21:23:19 【问题描述】:

我想知道这段代码是否可以工作?我尝试做的是从记录中更新一个字段。新变量是:newNote,它将来自用户的输入,TEXT 是字段名称。 OBJIDOBJVERSION 是 API 的唯一值。如果有人能判断这段代码是否有效,我将不胜感激。

DECLARE
   info_         VARCHAR2 (4000) := NULL;
   OBJID_        VARCHAR2 (4000) := :Project__OBJECTID;
   OBJVERSION_   VARCHAR2 (4000) := :Project__OBJECT;
   ATTR_         VARCHAR2 (4000) := NULL;
   newNote_      VARCHAR2 (2000) := :newNote;
BEGIN
   CLIENT_SYS.CLEAR_ATTR (ATTR_);
   CLIENT_SYS.ADD_TO_ATTR ('TEXT', newNote_, ATTR_);
   ENG_PART_REV_JOURNAL_API.MODIFY__ (info_,
                                      OBJID_,
                                      OBJVERSION_,
                                      ATTR_,
                                      'DO');
END;

【问题讨论】:

不知道这段代码能不能用? 到底是什么问题? 有什么问题? 不知道这段代码能用吗?我尝试做的是从记录中更新一个字段。新变量是 :newNote ,它将来自用户的输入,TEXT 是字段名称。 OBJID 和 OBJVERSION 是 API 的唯一值。如果有人能判断这段代码是否有效,我将不胜感激。 你为什么不简单地尝试一下?您正在调用不同的程序,而我们(好吧,说实话,)不知道他们做了什么(除了阅读他们的名字,所以他们可能清除属性,add 属性 和 modify 一些东西),但是 - 这行得通吗?我怎么知道? 【参考方案1】:

我找到了解决方案:

DECLARE
info_ varchar2(4000) := NULL;
OBJID_ varchar2(4000) := :Project__OBJECTID;
OBJVERSION_ varchar2(4000) := :Project__OBJECT;
ATTR_ varchar2(4000) := 'TEXT'||chr(31)||:newNote||chr(30);
newNote_ varchar2(2000) := :newNote;

BEGIN

ENG_PART_REV_JOURNAL_API.MODIFY__(info_ ,OBJID_,OBJVERSION_,ATTR_,'DO');

end;

【讨论】:

以上是关于PL SQL 代码 **ORACLE **的主要内容,如果未能解决你的问题,请参考以下文章

在用户只能访问与其 id 列相关的列的条件下向用户授予选择列权限 - Oracle pl/sql

[ORACE] Oracle trace 之二10046事件

[ORACE] Oracle trace 之二10046事件

异常后停止 PL/SQL 代码(PL/SQL、ORACLE)

imp命令导入dmp文件,提示成功无警告,但是在pl sql 查询,提示表不存在,是怎么回事?

Oracle Apex:PL/SQL 块中的 Javascript 代码