&安培;在SQL * Plus UPDATE中

时间:2013-11-07 14:47:56

标签: sql oracle sqlplus

以下是使用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;

1 个答案:

答案 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.