即使VARCHAR2(4000)
您所做的一切都是使用sql进行的,即使在任何地方使用都不会引起问题(在这种情况下也很可能不会引起问题),但是一旦开始将数据提取到应用程序中,这可能会很痛苦。应用程序可能别无选择,只能根据假定的一列中字符串的最大长度来分配内存…您可能会以这种方式很快耗尽内存。更不用说GUI会保留和格式化4000个字符,无论该函数返回什么…
要限制视图中列的大小,解决方案就是您已经说过的:如果将函数包装substr()
在select
视图的子句中,则列数据类型将设置为VARCHAR2(200)
。对我来说,这似乎是正确的方法。