replace
在写sql 的时候需要用到 replace功能的地方,在Java中可以有replace 和 replaceAll 函数,在Oracle中也是有的,例如:
select replace('pipiPIIiiiiii','PII','') from DUAL;
这样就可以把 ‘pipiPIIiiiiii’中的 'PII’替换掉了。
如果要把某个字段中的部分字符串替换或过滤掉,也可以在 update 的时候使用,如:
update tableA set column_desc=replace(column_desc,'abc','cba') where ...;
这样就可以把comumn_desc 字段中的 ‘abc’ 都替换成 ‘cba’了。
sql%rowcount
在 update 数据的时候,有时想知道 update到底有什么更新数据,是这条数据不存在还是已经被更新了,特别是有时候需要更新几百条乃至更多数据的时候,我们要知道给出的指定id 的数据到底更新了没有,如果表中根本不存在这条数据我们要心中有数,这样在 update 的时候就可以用 sql%rowcount 来看看是不是更新了,例如:
UPDATE tableB
SET
VERSION =version+1
WHERE column_id = IN_ID;
update_count:=sql%rowcount;
IF update_count = 0 THEN
dbms_output.put_line('column_id =' || IN_ID || ' does not exists in tableB.');
ELSE
...
这样在得知有数据更新和没有数据更新的时候都可以自由处理了。