微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

何时或为什么要在Oracle数据库中使用“SET DEFINE OFF”

我正在看Oracle中的脚本,我看到我不认识的东西
REM INSERTING into database1."Users"
 SET DEFINE OFF;
Insert into database1."Users" ("id","right") values ('1','R');

我正在寻找有关“set define off”的文档,并且以字面上写“禁用解析命令以替换替换变量与其值”

我真的不明白他们想说什么

有人可以帮我吗

感谢提前,恩里克

认情况下,sql Plus处理’&’作为开始替换字符串的特殊字符。这可能会导致运行脚本的问题,而这些脚本恰好包含’&’由于其他原因:
sql> insert into customers (customer_name) values ('Marks & Spencers Ltd');
Enter value for spencers: 
old   1: insert into customers (customer_name) values ('Marks & Spencers Ltd')
new   1: insert into customers (customer_name) values ('Marks  Ltd')

1 row created.

sql> select customer_name from customers;

CUSTOMER_NAME
------------------------------
Marks  Ltd

如果您知道您的脚本包含(或可能包含)包含“&”的数据字符,并且您不想像上述那样执行替换行为,然后在运行脚本时使用set define off关闭该行为:

sql> set define off
sql> insert into customers (customer_name) values ('Marks & Spencers Ltd');

1 row created.

sql> select customer_name from customers;

CUSTOMER_NAME
------------------------------
Marks & Spencers Ltd

您可能希望在脚本末尾添加set define on,以恢复认行为。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐