我尝试创建PL / SQL脚本,用脚大小更新我的表。 我的表看起来像这样:
| ID | TEXT | SIZE |
--------------------
| 1 | .... | null |
| 2 | .... | null |
| 3 | .... | null |
...
我希望PL / SQL脚本根据特定文档的文本长度填充大小列,然后删除TEXT列的内容。
这是我尝试过的:
DECLARE
cursor s1 is select id from table where size is null;
BEGIN for d1 in s1 loop
update table set size = (select length(TEXT) from table where id = d1) where id=d1;
end loop;
END;
/
答案 0 :(得分:4)
除非有充分的理由,否则请在纯SQL中执行此操作(或将以下语句放入PL / SQL):
UPDATE t
SET size = LENGTH(text),
text = NULL
WHERE size IS NULL;
这更容易阅读和更快。