Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Oracle存储函数的问题_Sql_Plsql_Oracle11g - Fatal编程技术网

Sql Oracle存储函数的问题

Sql Oracle存储函数的问题,sql,plsql,oracle11g,Sql,Plsql,Oracle11g,我试图在Oracle PL/SQL中构建一个存储函数,该函数将返回给定注册的最新租用日期 我的职能如下: CREATE OR REPLACE Function rec_date_sf(reg_in IN varchar2) RETURN DATE IS lv_max_date DATE; Begin SELECT MAX(Date_Rent_Start) INTO lv_max_date FROM i_booking WHERE reg_in = registrat

我试图在Oracle PL/SQL中构建一个存储函数,该函数将返回给定注册的最新租用日期

我的职能如下:

CREATE OR REPLACE Function rec_date_sf(reg_in IN varchar2)
RETURN DATE
IS
  lv_max_date DATE;
Begin
  SELECT MAX(Date_Rent_Start)
    INTO lv_max_date
    FROM i_booking
   WHERE reg_in = registration;
   RETURN lv_max_date;
END;
我需要在SQL语句中调用该函数,因此我正在使用一个我知道在表中的注册:

SELECT rec_date_sf(date_rent_start), 
       registration
  FROM i_booking 
 WHERE registration = 'E246WFC';
这将为
rec\u date\u sf
函数返回一个空白,而不是生成最大日期


有人能看看这段代码并告诉我哪里出了问题吗?

看起来有点混乱:您正在将看起来像日期的内容传递给接收字符参数的函数

也许你想要这样的东西

SELECT rec_date_sf(registration) as date_rent_start, 
       registration
  FROM i_booking 
 WHERE registration = 'E246WFC';

只是一个建议-不要混用SQL PL/SQL语言 像那样。你可能会遇到非常令人惊讶的问题。不仅在性能方面,而且查询可能返回错误的结果。或者至少使用
可序列化隔离级别