【问题标题】:binding input parameter to a like clause in a cursor in PLSQL将输入参数绑定到 PLSQL 游标中的 like 子句
【发布时间】:2020-05-09 01:20:45
【问题描述】:

我正在尝试编写一个带有输入参数的 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;

【问题讨论】:

    标签: oracle stored-procedures plsql cursor sqlbindparameter


    【解决方案1】:

    应该是

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

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

    【讨论】:

    • 感谢您的快速回复
    猜你喜欢
    • 2017-10-22
    • 1970-01-01
    • 2020-11-01
    • 2012-08-10
    • 2016-04-22
    • 2018-04-03
    • 2018-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多