如何击活Oracle中新创建的函数?(100分)

  • 主题发起人 主题发起人 dxymzj
  • 开始时间 开始时间
D

dxymzj

Unregistered / Unconfirmed
GUEST, unregistred user!
我是Windows平台
版本 8i
新创建一个函数 GetExchangeType(AExchangeType IN NUMBER)
RETURN Varchar(10)
BEGIN
if AExchangeType = 0
RETURN('经办行')
else
RETURN('管理行')
END;
编译时也没错,是它本身就没检查错误,因为我专门写错了关键字,他也认了
创建完后,状态是invalid,我不知道如何击活。能帮助我吗?

顺便问以下,Oracle有无 类似 Sql Server 中的如下语句:
Select a,case b when 1 then 'sdf' from b where c...
 
首先看看你的函数语句有没有问题,没有问题则在sqlplus中使用下面语句
alter function GetExchangeType compile;
状态就会改变。
 
1.不知道你使用何种工具创建, 建议使用 PL/SQL DEVELOPER 里面有对函数进行编译的菜单.
2.ORACLE中类似用法如下:
select a, decode(b, 1, 'sdf', '') from b where c...
 
1、修改后重新编译
2、9i才支持case语句
 
我再 DBA Studio 中创建的,但编译时没有任何提示,我写错了,它也不提示,我估计它就没有编译
同时我用Sql Plus修改时出现“更改的函数带有编译错误”
 
后退
顶部