为什么在 SQL*PLUS 中我们有 SET SCAN 和 SET DEFINE ?我知道两者在 SQL 中可以互换使用。我测试并发现如果我将其中任何一个设置为 OFF,替换变量将不起作用。他们是否有任何我们需要两者并且两者的重要性可以同时理解的特定情况?
提前致谢。
SET DEFINE
更灵活,因为它允许您将替换字符从更改为&
其他字符,而SET SCAN
只能打开或关闭。
可能更重要的SET SCAN
是,已经过时了;从文档:
当前版本的 SQL*Plus 中提供了过时的命令。在未来的版本中,它们可能只能通过设置 SQLPLUSCOMPATIBILITY 变量来使用。您应该使用过时的命令修改脚本以使用替代命令。
所以现在两者都有效,但我不会SET SCAN
在任何新代码中使用。