我创建了下面两个表,只有不同的情况下:如何访问DB2中具有相同名称不同的情况下,表
tables.sql:
CREATE TABLE T1 (C1 INTEGER);
INSERT INTO T1 VALUES (1);
CREATE TABLE "t1" (C1 INTEGER);
INSERT INTO "t1" VALUES (2);
CREATE TABLE T2 (C1 INTEGER, "c1" integer);
INSERT INTO T2 VALUES (3, 4);
命令
db2 -tvf tables.sql
当我想直接从CLP查询表,我无法区分这两种情况。我如何做一个查询到表T1和另一个到表t1。两列C1和C1都一样吗?
不用说,这是一个很好的例子,为什么你不应该使用这种方式命名表。事实上,任何时候你必须划分表名(例如,如果它们包含空格,或者是保留字),你可能做错了什么。 –
是的,这是真的,并且在使用多数据库的DDL时可能会发生这种情况,因为它们中的一些包含引号,DB2以不同的方式理解它们。 – AngocA