0

我正在尝试使用输入参数编写一个 PLSQL 过程,该输入参数将分配给游标内的 like 子句。BUt 绑定无法正常工作。请帮我解决它。

PROCEDURE SEARCH_DONOR (p_nic_ VARCHAR2,
                        records_ OUT Sys_Refcursor) 

  AS

  v_stmt_str      VARCHAR2(200);
  v_stmt_str2      VARCHAR2(4000);

  BEGIN

       OPEN  records_  FOR
      SELECT DONOR_ID_        Id,
             FIRST_NAME_      First_Name,
             LAST_NAME_       Last_Name,
             DOB_             Date_of_Birth,
             NIC_             NIC,
             CONTACT_NUMBER_  Contact_Number,
             BLOOD_TYPE_ID_   Blood_type

      FROM MOISLK_DONOR_INFO_TAB
      WHERE NIC like '%p_nic_%'
      AND CLIENT_STATUS_ = 0
      ORDER BY DONOR_ID_;

  END SEARCH_DONOR;
4

1 回答 1

4

应该

WHERE NIC like '%' || p_nic_ || '%'

因为您正在搜索 string p_nic,而您想要搜索包含该参数值的字符串。

于 2020-01-22T19:52:57.340 回答