很明显,您可以在SQL表名中使用数字字符并使用它们,只要它们不在开头即可。 (这里有一个关于其中一个副作用的讨论:SQLite issue with Table Names using numbers?) 我正在瞄准的数据库是Oracle 10g / 11g。
我正在设计一个报告数据库,其中明确地命名一些实体最好通过描述报告来完成,报告以数字命名('part 45','102S','401')。它只是业务领域语言:这些报告通常不会被任何其他名称引用。我正在建模的实体最好以这种方式命名。
我的问题是:如果我将数字放在表名中,我是否会遇到维护或可编程性方面的困难?我总是担心数据库周围的辅助软件:驱动程序,ETL代码可能不适合使用非普通名称。但是在这个业务领域的可懂度方面有一个真正的好处,所以我只是娇气吗?
我的问题很简单:是否有任何'陷阱'或角落案例会排除像PART_45_AUDIT这样的表名?
答案 0 :(得分:8)
如果PART_45_AUDIT
确实是您正在建模的实体的最清晰描述(这将是非常罕见的),那么在名称中间不应该有任何问题。将数字放在名称的前面将是一个不同的故事,因为这需要使用双引号标识符,并且有许多工具不完全支持双引号标识符。另外,当然,每次引用表时都必须输入双引号,这很烦人。
CREATE TABLE "102S" (
col1 number
);
SELECT *
FROM "102S"