我要在存储过程中拼出
select a.jhmbdm, a.chehao, a.checi, a.xldm, a.zws, a.fcsj, a.xybz
  from dd_cpjhmb a
 where a.xybz = 'Y'
这样的语句。后面还要根据传入的参数添加条件,下面的拼接的结果不对,少了'Y'两边的单引号。请帮忙告诉我怎么样才能拼接。
 lsql :='select a.jhmbdm, a.chehao, a.checi, a.xldm, a.zws, a.fcsj, a.xybz   from dd_cpjhmb a  where a.xybz ='||'Y'

解决方案 »

  1.   

    SQL> set serveroutput on
    SQL> exec dbms_output.put_line('''456''');
    '456'PL/SQL 过程已成功完成。
      

  2.   

    V_SQL := 'select t.* from ly_tmpact_djqfull_req t WHERE t.FULL_REQUEST_SQ = ' ||
               CHR(39) || V_IN || CHR(39);
    V_IN是定义的变量
    CHR(39)代表单引号
               
      

  3.   

      lsql   :='select   a.jhmbdm,   a.chehao,   a.checi,   a.xldm,   a.zws,   a.fcsj,   a.xybz       from   dd_cpjhmb   a     where   a.xybz   =''Y'' and a.checi='''||v_aa||''' ';
    v_aa代表传入的变量,如果是常量,直接''Y''就可以了
      

  4.   

    lsql :='select a.jhmbdm, a.chehao, a.checi, a.xldm, a.zws, a.fcsj, a.xybz from dd_cpjhmb a where a.xybz =''Y''';