有一个视图SF 我想将字段A='01'时候je=je*2(je得二倍) ,当A=别的值的时候,je不变.就了下面一段存储过程,可以编译通过后,返回值没有变化....大家帮我看看该如何修改reate or replace function SF(A In Varchar2,JE In Varchar2)
Return Varchar2
Is
ZA Varchar2(40);
ZJE Varchar2(40);
Result Varchar2(40);
begin
ZA := LTRIM(RTRIM(A));
ZJE := LTRIM(RTRIM(JE));
If ZHPZL= '01'
Then ZJE := JE*2;
Result := ZJE;
End If;
return(Result);
end SF;
Return Varchar2
Is
ZA Varchar2(40);
ZJE Varchar2(40);
Result Varchar2(40);
begin
ZA := LTRIM(RTRIM(A));
ZJE := LTRIM(RTRIM(JE));
If ZHPZL= '01'
Then ZJE := JE*2;
Result := ZJE;
End If;
return(Result);
end SF;
Return Varchar2
Is
ZA Varchar2(40);
ZJE Varchar2(40);
Result Varchar2(40);
begin
ZA := LTRIM(RTRIM(A));
ZJE := LTRIM(RTRIM(JE));
If ZA= '01'
Then ZJE := JE*2;
Result := ZJE;
End If;
return(Result);
end SF;
create or replace function SF(A In Varchar2,JE In Varchar2)
Return Varchar2
Is
begin
If trim(a)= '01' Then
return(trim(JE)*2);
else
return(trim(JE));
End If;
end SF;
还有if ... then应该放在同一行~~(像楼上那样)看楼主的程序不太习惯
Return Varchar2
Is
begin
If trim(a)= '01' Then
return(to_char(to_number(trim(JE))*2));
else
return(trim(JE));
End If;
end SF;