2011-10-15 33 views
1

1:name varchar2(30):='uu'|| '&(emp name)';
2:name varchar2(30):='uu'|| '& emp name';pl/sql中的以下声明类型有什么区别?

我没有得到差异()正在做什么。
在第一种情况下名称= UU &(EMO姓名和
在第二种情况是promts用户输入值。
请任何机构可以解释我这背后的概念。

回答

5

SQL * Plus的解释名字开头&&&和由字母和数字(像一个正常的标识符)这样的名称是variable usages;除非已定义的,这些被替换为用户输入

注意,(&在第一行是不是一个。 n字母数字字符,因此SQ * Plus不检测变量引用。

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