oracle 创建的函数的返回类型

ZiSheng 2009-02-09 04:52:04
是不是oracle创建的函数的返回的类型有限制?我用varchar2(2000),不行,总是出现错误
number类型可以,了解这方面情况的大侠介绍一下,谢谢了!

SQL> create or replace function testphenix return varchar2(2000)
2 is
3 v_str varchar2(2000):='phenix';
4 begin
5 dbms_output.put_line(v_str);
6 return v_str;
7 end;
8 /

警告: 创建的函数带有编译错误。

SQL> show errors;
FUNCTION TESTPHENIX 出现错误:

LINE/COL ERROR
-------- -----------------------------------------------------------------
1/36 PLS-00103: 出现符号 "("在需要下列之一时:
. @ % ; is authid as cluster
order using external character deterministic parallel_enable
pipelined aggregate

...全文
134 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZiSheng 2009-02-09
  • 打赏
  • 举报
回复
知道了,返回的类型不能在varchar2后边添加()
iamwho123 2009-02-09
  • 打赏
  • 举报
回复
create or replace function testphenix return varchar2
is
v_str varchar2(2000):='phenix';
begin
dbms_output.put_line(v_str);
return v_str;
end;
应该可以了!
ZiSheng 2009-02-09
  • 打赏
  • 举报
回复
把返回的类型从varchar2(2000)改为varchar2就没有问题了。
ZiSheng 2009-02-09
  • 打赏
  • 举报
回复
oracle的函数类型是不是不能通用(创建表的时候,创建存储过程的时候,函数的参数类型,返回的类型),大家介绍一下,不同的地方是不是规范不一样???
oraclelogan 2009-02-09
  • 打赏
  • 举报
回复
[Quote=引用楼主 ZiSheng 的帖子:]
是不是oracle创建的函数的返回的类型有限制?我用varchar2(2000),不行,总是出现错误
number类型可以,了解这方面情况的大侠介绍一下,谢谢了!

SQL code
SQL> create or replace function testphenix return varchar2(2000)
2 is
3 v_str varchar2(2000):='phenix';
4 begin
5 dbms_output.put_line(v_str);
6 return v_str;
7 end;
8 /

警告: 创建的函数带有编译错误。

SQ…
[/Quote]

好像没有错误啊!

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧