如何解决 PL/Sql 函数编译错误
Posted
技术标签:
【中文标题】如何解决 PL/Sql 函数编译错误【英文标题】:How to solve PL/Sql Function compilation error 【发布时间】:2021-03-19 05:37:41 【问题描述】:我有两个表。一个来自服务器,另一个来自主机。我必须合并它们并按性别计算捐赠者总数。我尝试运行此功能。但它显示错误。我该如何解决?
**create or replace function count_donor_by_gender(g in Donor.gender%TYPE)
return number
is
g_donor number:=0;
begin
FOR R IN (select * from Donor@site_link union Donor) LOOP
if(R.gender=g) then
g_donor:=g_donor+1;
end if;
END LOOP;
return g_donor;
end count_donor_by_gender;
/**
【问题讨论】:
嗨。错误说明了什么? 缺少选择关键字和 sql 语句被忽略...我添加了一张图片 我有两个表。一个来自服务器,另一个来自主机。我必须合并它们并按性别计算总捐助者 【参考方案1】:错误在这里
select * from Donor@site_link union Donor
union 语句将 2 个 SELECT 语句的结果合并为一个,所以你需要
select * from Donor@site_link union select * from Donor
请注意,“UNION”会导致数据库删除可能会降低性能的重复项。如果不打算删除重复项,请改用“UNION ALL”
【讨论】:
以上是关于如何解决 PL/Sql 函数编译错误的主要内容,如果未能解决你的问题,请参考以下文章