尝试在 SQL / PLSQL 中使用时过程标识符无效
Procedure invalid identifier when trying to use in SQL / PLSQL
我试图在 PLSQL 上做一个非常基本的程序,但是当我尝试在 SQL 中使用它时,它 returns 无效的标识符。
create or replace PROCEDURE YEARS_BETWEEN(date1 IN date , date2 IN date, p_result out number)
IS
v_months number;
BEGIN
v_months := months_between(date1, date2);
p_result := TRUNC(v_months / 12, 0);
END years_between;
谁能告诉我怎么了?
SQL 是
select YEARS_BETWEEN(GBDATUM, SYSDATE) as leeftijd FROM medewerkers;
如果您想在 select
中调用它,您需要 函数 而不是 过程 :
create or replace function years_between (in_date1 in date , in_date2 in date)
return number as
v_months number;
begin
v_months := months_between(date1, date2);
return(trunc(v_months / 12, 0));
end; -- years_between
我试图在 PLSQL 上做一个非常基本的程序,但是当我尝试在 SQL 中使用它时,它 returns 无效的标识符。
create or replace PROCEDURE YEARS_BETWEEN(date1 IN date , date2 IN date, p_result out number)
IS
v_months number;
BEGIN
v_months := months_between(date1, date2);
p_result := TRUNC(v_months / 12, 0);
END years_between;
谁能告诉我怎么了?
SQL 是
select YEARS_BETWEEN(GBDATUM, SYSDATE) as leeftijd FROM medewerkers;
如果您想在 select
中调用它,您需要 函数 而不是 过程 :
create or replace function years_between (in_date1 in date , in_date2 in date)
return number as
v_months number;
begin
v_months := months_between(date1, date2);
return(trunc(v_months / 12, 0));
end; -- years_between