更新命令
问题描述:
我有以下细节表更新命令
[email protected]>select BUILTIN_ARGUMENTS from FND_FORM_CUSTOM_ACTIONS WHERE (RULE_ID = 2243);
BUILTIN_ARGUMENTS
--------------------------------------------------------------------------------
='http://prod.client.com:3001/ords/f?p=1:2:::NO::P_ORDER_HEADER_ID,P_SESSION
_ID:'||${item.ORDER.HEADER_ID.VALUE}||','||${ps.db_session_id.value}
对于一个需求,我有这个"prod.client.com:3001"
为
"test1-scan.client.com"
当我下面得到错误
执行更新[email protected]>update FND_FORM_CUSTOM_ACTIONS set = '='http://test1-scan.client.com/ords/f?p=1:2:::NO::P_ORDER_HEADER_ID,P_SESSION
_ID:'||${item.ORDER.HEADER_ID.VALUE}||','||${ps.db_session_id.value}' WHERE (RULE_ID = 2243);
SP2-0552: Bind variable "NO" not declared.
[email protected]>
我知道我可能不得不使用转义字符或声明变量,但没有得到线索因为我不擅长编码。
答
在这种情况下使用REPLACE
更好。
UPDATE fnd_form_custom_actions
SET builtin_arguments = REPLACE (builtin_arguments, 'prod.client.com:3001',
'test1-scan.client.com')
WHERE rule_id = 2243 ;
+0
非常感谢,它解决了这个目的。再次感谢您的及时回应。 – user2500742
答
您的发言明显的错别字:
set = '='http://test1-scan.client.com/ords/f?p=1:2:::NO [.......]
设置什么 = .....?
然后:什么是第二个等号,单引号? (OR ...我看到了 - 你指的是在指定字符串中的单引号吗?你必须输入两个单引号来代表一个字符串中的单引号!)
然后:由于第二个等号消耗单引号,之后接下来的内容没有被引用。所以:NO
被视为绑定变量。更正语法,Oracle不会问你任何绑定变量。
有了这个固定的,看看Kaushik的答案,完全采取更好的方法。
你必须格式化这个问题,它很难理解你想要做什么。 – saitejalakkimsetty
你现在可以检查 – user2500742