【问题标题】:& within SQL*Plus UPDATE [duplicate]& 在 SQL*Plus 更新中 [重复]
【发布时间】:2013-11-19 06:30:09
【问题描述】:

下面是一个使用 SQL*Plus 更新客户名称的 sn-p。它适用于所有客户,但名称包含“&”符号的客户除外,即使名称是“封闭的”。

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

应该怎么做才能使它对名称中包含“&”的客户也有效?

更新: 似乎它确实有效,但只要有一个“&”,它就会输入“COMMIT;”所以名称显示为'A COMMIT; B' 而不是 'A & B'。

【问题讨论】:

标签: sql oracle sqlplus


【解决方案1】:

你可以试试“SET DEFINE OFF”吗?

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.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-15
    • 2013-02-09
    相关资源
    最近更新 更多