日期:2014-05-16 浏览次数:20421 次
??? 偶然写了个update语句
??
update dm_t t set t.url = (select '/webyy/jcwh.do?method=init&id='||a.id from dm_t a where a.id = t.id) where t.lx = '001'
?
?? 执行update的时候,oracle弹出窗口提示输入id的变量值。
?? 这个是因为oracle的变量声明可能是&加上变量名,oracle把字符串里的&id解析成了一个名为id的变量,但这里我只是想作为一个普通的字符串使用,因此将sql稍作修改,如下:
update dm_t t set t.url = (select '/webyy/jcwh.do?method=init&'||'id='||a.id from dm_t a where a.id = t.id) where t.lx = '001'
?
这样分开写后,执行成功。
?
?至于oracle的变量声明此处只是一个猜测,未查阅资料作进一步验证,待有时间再学习相关内容。