Derby следует стандарту ANSI, который требует, чтобы некотируемые идентификаторы складывались в верхний регистр. Таким образом, следующее утверждение:
create table user_properties
(
id integer not null
);
создаст таблицу с назовите USER_PROPERTIES
и столбец с именем ID
.
Вы можете заставить Derby хранить нижний регистр (или на самом деле смешанные обсаженными) имена, используя идентификаторы в кавычках:
create table "user_properties"
(
"id" integer not null
);
создаст таблицу с назовите user_properties
и столбец с именем id
.
При использовании цитируемых идентификаторов (иначе называемых «идентификаторами с разделителями») они становятся чувствительными к регистру, поэтому для второй таблицы должно быть всегда можно использовать двойные кавычки.
Заявление select * from user_properties
будет не работать, если таблица была создана со вторым утверждением. У вас есть, чтобы всегда ссылаться на него: select * from "user_properties"
.
Использование цитируемых идентификаторов обычно вызывает много больше проблем, чем того стоит. Если вы никогда не цитируете свои идентификаторы, вы можете безопасно использовать имя верхнего регистра в вызове getTables()
Не можете ли вы создать таблицу table_name ....? – SpringLearner
Если я делаю 'st.execute (« CREATE TABLE user_properties »);' в схеме APP 'записывается как «USER_PROPERTIES» - в верхнем регистре. Я хочу, чтобы это было в нижнем регистре. Это не очень большая проблема, просто спрашиваю, возможно ли это :) –