如何解决PL/Sql函数编译错误
How to solve PL/Sql Function compilation error
我有两个 table。一个来自服务器,另一个来自 host.I 必须合并它们并计算总捐赠者 gender.I 试图 运行 这个 function.But 显示 error.How 我可以解决吗?
**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;
/**
错误在这里
select * from Donor@site_link union Donor
“联合”语句将 2 个 SELECT 语句的结果合并为一个,因此您需要
select * from Donor@site_link union select * from Donor
请注意,“UNION”会导致数据库删除重复项,这可能会降低性能。如果不打算删除重复项,请改用“UNION ALL”
我有两个 table。一个来自服务器,另一个来自 host.I 必须合并它们并计算总捐赠者 gender.I 试图 运行 这个 function.But 显示 error.How 我可以解决吗?
**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;
/**
错误在这里
select * from Donor@site_link union Donor
“联合”语句将 2 个 SELECT 语句的结果合并为一个,因此您需要
select * from Donor@site_link union select * from Donor
请注意,“UNION”会导致数据库删除重复项,这可能会降低性能。如果不打算删除重复项,请改用“UNION ALL”