PL/SQL中,declare定义变量和variable定义变量的区别?
用declare声明的变量作用在block中。
variable是sqlplus中定义变量的命令。他定义的变量在一个sqlplus连接中有效。
SQL> show user
USER 为"YANGTK"
SQL> var
SP2-0568: 未说明结合变量。
SQL> var test number
SQL> var
变量 test
数据类型 NUMBER
SQL> conn / as sysdba
已连接。
SQL> show user
USER 为"SYS"
SQL> var
变量 test
数据类型 NUMBER
variable是sqlplus中定义变量的命令。他定义的变量在一个sqlplus连接中有效。
SQL> show user
USER 为"YANGTK"
SQL> var
SP2-0568: 未说明结合变量。
SQL> var test number
SQL> var
变量 test
数据类型 NUMBER
SQL> conn / as sysdba
已连接。
SQL> show user
USER 为"SYS"
SQL> var
变量 test
数据类型 NUMBER
SQL>
--------------------------------------------------------------
variable相当于一个sql*plus环境的全局变量,declare里定义的是pl/sql中的局部变量。 |