如何告诉Oracle SQL 将 & 视为数据而不是 Bing 变量



我必须用数据更新表中的列。并且在其中一列的数据中有&像("盐和胡椒"(。

因此,当我运行update语句时,它会提示我输入值。

但在我的情况下,它不应该询问,它应该插入数据"盐&往桌子的柱子上撒胡椒粉。

UPDATE dishes SET ingredient = 'Salt & Pepper' WHERE dish_id = 5000;

我该怎么做?

在SQL*Plus中,它是SET DEFINE OFF

SQL> UPDATE dishes SET ingredient = 'Salt & Pepper' WHERE dish_id = 5000;
Enter value for pepper:
old   1: UPDATE dishes SET ingredient = 'Salt & Pepper' WHERE dish_id = 5000
new   1: UPDATE dishes SET ingredient = 'Salt ' WHERE dish_id = 5000
1 row updated.

但是:

SQL> set def off
SQL> UPDATE dishes SET ingredient = 'Salt & Pepper' WHERE dish_id = 5000;
1 row updated.
SQL>

你使用的工具可能有不同的选择,但总的来说,它是一样的。

使用SET ESCAPE:设置ESC[APE]{OFF | ON | escape_char}

所以:

SET ESCAPE ON
SET ESCAPE ""
UPDATE dishes SET ingredient = 'Salt & Pepper' WHERE dish_id = 5000;

我想应该会成功的。

最新更新