任何人都可以帮我解决这个问题:
CURSOR csr(start IN NUMBER, finish IN NUMBER, sort IN VARCHAR2, search IN VARCHAR2) IS
SELECT id, text, code, name
FROM (SELECT rownum r,
id,
text,
table1.code,
name
FROM table1, table2
WHERE table1.code = table2.code
AND (id LIKE ||'%'||search||'%'
OR name LIKE ||'%'||search||'%'
OR table1.code LIKE ||'%'||search||'%'
OR text LIKE ||'%'||search||'%')
)
WHERE r > start
AND r <= finish
ORDER BY sort;
这给了我以下一行的* ORA-00936 Missing Expression错误:
AND( id LIKE ||'%'||search||'%'*
我只测试代码,但无法找到问题所在。
任何帮助表示赞赏。
答案 0 :(得分:1)
连接运算符“||”在操作数之间进行。在第一个学期之前放一个是错误的。所以“id LIKE ||'%'|| search ||'%'”应该是“id LIKE'%'|| search ||'%'”