PL SQL 代码 **ORACLE **
Posted
技术标签:
【中文标题】PL SQL 代码 **ORACLE **【英文标题】:PL SQL Code **ORACLE ** 【发布时间】:2018-05-10 21:23:19 【问题描述】:我想知道这段代码是否可以工作?我尝试做的是从记录中更新一个字段。新变量是:newNote
,它将来自用户的输入,TEXT
是字段名称。 OBJID
和 OBJVERSION
是 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)