[~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Thu May 12 22:26:47 2011
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select reverse('abc') from dual;
REV
---
cba
SQL> select reverse('abc') from dual;
REV
---
cba
SQL> declare
2 v_tmp varchar2(20);
3 begin
4 v_tmp:=reverse('abc');
5 dbms_output.put_line(v_tmp);
6 end;
7 /
v_tmp:=reverse('abc');
*
ERROR at line 4:
ORA-06550: line 4, column 10:
PLS-00201: identifier 'REVERSE' must be declared
ORA-06550: line 4, column 3:
PL/SQL: Statement ignored
SQL> declare
2 v_tmp varchar2(20);
3 begin
4 select reverse('abc') into v_tmp from dual;
5 dbms_output.put_line(v_tmp);
6 end;
7 /
cba
PL/SQL procedure successfully completed.
以前还真不清楚这个函数不可以直接赋值,简单记录一下。