vSQL_LINE := ' ORDER BY ID DESC';
vSQL:= 'SELECT ID,SOFT_NAME AS SOFTNAME,EXE_FILE_NAME AS EXEFILENAME,SOFT_DETAIL AS SOFTDETAIL,ROWNUM FROM T_WORK_SOFT_BASE WHERE 1 = 1';
vSQL_L := 'SELECT COUNT(*) FROM T_WORK_SOFT_BASE WHERE 1 = 1';
OPEN vCURSOR FOR vSQL;
IF vSOFT_NAME IS NOT NULL THEN
vSQL := vSQL||' AND SOFT_NAME LIKE '''||'%'||vSOFT_NAME||'%'||''' ';
vSQL_L := vSQL_L||' AND SOFT_NAME LIKE '''||'%'||vSOFT_NAME||'%'||''' ';
END IF;
IF vSOFT_DETAIL IS NOT NULL THEN
vSQL := vSQL||' AND SOFT_DETAIL LIKE '''||'%'||vSOFT_DETAIL||'%'||''' ';
vSQL_L := vSQL_L||' AND SOFT_DETAIL LIKE '''||'%'||vSOFT_DETAIL||'%'||''' ';
END IF;
EXECUTE IMMEDIATE vSQL_L INTO vCOUNT;
vSQL := vSQL||' AND ROWNUM <= '||vEND||' ';
vSQL := vSQL||vSQL_LINE;
vSQL := 'SELECT A.* FROM ('||vSQL||' ) A WHERE ROWNUM >'||vSTART;
--dbms_output.put_line(vSQL); --打印执行的sql
OPEN vCURSOR FOR vSQL;
oracle存储过程中like的拼接
最新推荐文章于 2024-06-28 10:14:48 发布