pl/sql中以下声明类型有什么区别?

Tar*_*run 1 oracle variables plsql sqlplus declaration

1:名称varchar2(30):='uu'|| '&(emp name)';
2:名称varchar2(30):='uu'|| '&emp name';

我不知道差异()是什么.
在第一种情况下,name = uu&(emo名称和
第二种情况,它促使用户输入值.
请任何机构解释我这背后的概念.

900*_*000 5

SQL*Plus解释以&或开头&&的字母和由字母和数字组成的字符(如普通标识符).这些名称是可变用法 ; 除非已经定义,否则这些将被用户输入替换.

请注意,第一行中的(after &不是字母数字字符,因此SQ*Plus不会检测变量引用.

set define off在顶部添加以禁用此功能.