存储PL / SQL函数

时间:2013-11-14 06:40:37

标签: sql database oracle11g

我正在尝试在PL / SQL中实现存储的函数,该函数查找给定驱动程序访问的城市总数,并返回驱动许可证号。

我试过这样的东西,但我不断得到“用编译错误创建的函数。”。问题是,oracle 11g没有显示错误在哪里? 这就是我得到的。

create or replace function driverL return number
as licence L#%TYPE;
begin
select L#, count(T#)
from driver d
join trip t ON d.L# = t.L#
join leg l ON l.t# = l.t#;
return licence;
end;
/

我如何考虑一次访问同一个城市的多次访问?

1 个答案:

答案 0 :(得分:0)

如果您使用的是SQL * Plus,则可以在show errors语句后使用语句create来显示最近创建或更改的存储过程/函数/包的编译错误。

在您的代码中,我发现至少有两个问题:

  1. 您在选择
  2. 中缺少INTO条款
  3. L#子句中的列SELECT含糊不清,因为两个表都有一个具有该名称的列