以下是使用SQL * Plus更新客户名称的代码段。它适用于所有客户,除了名称包含'&'符号,即使名称被封闭'。
sqlplus -s $user/$pass@$db << EOF
UPDATE order_address SET name = '$customer_name' WHERE address_type = '2' AND order_number = '$order_number';
COMMIT;
EXIT;
EOF
应该做些什么,以便即使对于名称中包含&#39;&amp;&#39;?
的客户也可以这样做更新:它似乎确实有效,但只要有&#39;&amp;&#39;它提出了'COMMIT;&#39;所以名称显示为&#39; A COMMIT; B&#39;而不是&amp; A&amp; B&#39;
答案 0 :(得分:2)
你可以试试&#34;设定定义关闭&#34;?
SQL> SET SERVEROUTPUT ON
SQL> SET DEFINE OFF
SQL> BEGIN
2 DBMS_OUTPUT.PUT_LINE('A&B');
3 END;
4 /
A&B
PL/SQL procedure successfully completed.