在oracle的PL/SQL中,&和:有什么区别?

use*_*398 1 sql plsql sqldatatypes

我正在研究PL/SQL并且我正在经历绑定变量.我理解我们用来传递RUN-TIME值的绑定变量.

但PL/SQL中&和:(冒号)有什么区别?两者是相同的还是两者之间有什么区别?我什么时候应该使用&和:?

Ren*_*ger 6

&被使用SQL*Plus而已,它有它的外面没有任何意义.

SQL*Plus"解析"输入缓冲区时,它取代&variables了它们的define用途.另请参见此链接此链接.该技术术语替代变量.

另一方面:variable真正的绑定变量.它们在Oracle的SQL引擎"解析"并执行SQL语句时使用.请参阅此链接此链接.

因此,简而言之,&variables它被SQL*Plus取代,然后传递给Oracle的SQL引擎,而:variables不受SQL Plus的影响,并在它们出现时传递给Oracle的SQL引擎.在SQL Plus之外,&毫无意义.