【发布时间】:2022-01-19 06:21:06
【问题描述】:
1 declare
2 a number;
3 b number;
4 c number;
5 d number;
6 PROCEDURE findMin(x IN number, y IN number, z IN number , L out number) IS
7 BEGIN
8 IF x > y&& x>z then
9 L:= x;
10 ELSE if y>z&&y>x then
11 L:= y;
12 else
13 L:=z
14 END IF;
15 End if;
16 END;
17 BEGIN
18 a:= 23;
19 b:= 45;
20 c:=36;
21 findMin(a, b, c,d);
22 dbms_output.put_line(' Minimum of (23, 45,36) : ' || d);
END;
这是第一个我无法理解它显示的代码有什么问题 * 第 1 行的错误: ORA-06540: PL/SQL: 编译错误 ORA-06553: PLS-906: 编译是不可能的
第二个是
2. DECLARE
3. num number;
4. c number;
5. PROCEDURE fact(x IN number, f out number) IS
6. BEGIN
7. IF x = 0 THEN
8. f:= x;
9. ELSE
10. f:= x*fact(x-1);
11. END IF;
12. END;
13. BEGIN
14. c:=f;
15. num:=6
16. fact(num,c);
17. dbms_output.put_line(' Factorial: ' ||'is'||c);
18. END;
19. /
我得到的输出为 z:= x*fact(x-1) ; * 第 9 行的错误: ORA-06550:第 9 行,第 14 列: PLS-00306:调用“FACT”时参数的数量或类型错误 ORA-06550:第 9 行,第 8 列: PL/SQL:语句被忽略
这是我编写的第二个程序,但我无法解决其中的问题
1 create or replace function tables(n in number) return number is s number;
2 begin
3 i number;
4 for i in 1...10 loop
5 s:=n*i;
6 end loop;
7 return s ;
8* end;
这是乘法表函数我的代码有什么问题,它们将输出显示为
警告:函数创建时出现编译错误。
【问题讨论】:
-
一些缩进不会有伤害,你应该详细解释你的例子中什么不起作用。
-
先生,我编辑了问题
标签: oracle function plsql procedure