我在表格中有以下详细信息
GEMS@TEST1>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"
当我在下面执行错误时
GEMS@TEST1>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.
GEMS@TEST1>
我知道我可能不得不使用转义字符或声明变量但没有得到线索,因为我不是很擅长编码。
答案 0 :(得分:1)
在这种情况下使用REPLACE
会更好。
UPDATE fnd_form_custom_actions
SET builtin_arguments = REPLACE (builtin_arguments, 'prod.client.com:3001',
'test1-scan.client.com')
WHERE rule_id = 2243 ;
答案 1 :(得分:0)
你的陈述中有明显的拼写错误:
set = '='http://test1-scan.client.com/ords/f?p=1:2:::NO [.......]
设置什么 = .....?
然后:单引号中的第二个等号是什么? (或者......我明白了 - 你的意思是指定字符串中的单引号吗?你必须输入两个单引号来表示字符串中的一个单引号!)
然后:因为第二个等号消耗了单引号,所以后面没有引用它。所以:NO
被视为绑定变量。纠正语法,Oracle不会问你任何绑定变量。
有了这个问题,请查看Kaushik的答案,以获得更好的方法。