我自己写了个like查询语句,但是不知道为什么不对...
大家帮我看看..谢谢了
CREATE OR REPLACE PROCEDURE IM.pro_getadminchildren (p_name IN VARCHAR2,p_CURSOR OUT pro_getadminchildren_PACKAGE.pro_getadminchildren_CURSOR)
IS
  sql_string     varchar2(1500);   --用于构造的SQL语句
  p_temp_name    varchar2(1000);
  end_string     varchar2(1000);
BEGIN
  sql_string := 'SELECT * FROM MS_ADMIN WHERE nodefather like '||'''%';
  end_string := '%''';
  p_temp_name := p_name;
   --OPEN p_CURSOR FOR SELECT * FROM MS_ADMIN WHERE nodefather like '%||p_name||%';
  sql_string := sql_string || p_temp_name || end_string; 
  --sql_string := 'SELECT * FROM MS_ADMIN WHERE NODEFATHER LIKE '''%  ||p_temp_name|| '''%';
  dbms_output.PUT_LINE(sql_string);    --bebug
END pro_getadminchildren;

解决方案 »

  1.   

    CREATE OR REPLACE PROCEDURE IM.pro_getadminchildren (p_name IN VARCHAR2,p_CURSOR OUT pro_getadminchildren_PACKAGE.pro_getadminchildren_CURSOR)
    IS
      sql_string     varchar2(1500);   --用于构造的SQL语句
      p_temp_name    varchar2(1000);
      end_string     varchar2(1000);
    BEGIN
      sql_string := 'SELECT * FROM MS_ADMIN WHERE nodefather like ''%';
      end_string := '%''';
      p_temp_name := p_name;
      sql_string := sql_string || p_temp_name || end_string; 
      dbms_output.PUT_LINE(sql_string);    --bebug
    END pro_getadminchildren;