2015-03-26 2 views
1

Я создал таблицу hbase, используя SQuirrel SQL client 3.6. Ниже приведен запрос, который я попробовал -Создание представления для таблицы hbase с использованием SQL-клиента SQuirrel 3.6

create table test (mykey integer not null primary key, mycolumn varchar); 
upsert into test values (1,'Hello'); 
upsert into test values (2,'World!'); 

Теперь я пытаюсь создать представление с помощью SQL-клиента SQuirrel. Ниже запрос я tried-

create view "TEST" (ID BIGINT NOT NULL PRIMARY KEY, "TEST".mycolumn varchar); 

Это создать представление возвращает запроса ниже error-

Error: ERROR 505 (42000): Table is read only. 
SQLState: 42000 
ErrorCode: 0 

Пожалуйста, предложите что вопрос ..

+0

Я вижу, что вы создали таблицу «test», но ссылаетесь на нее в представлении «ТЕСТ» (в верхнем регистре, а не в нижнем регистре). Может ли это быть чувствительностью к регистру? Попробуйте изменить «TEST» на «test», где «TEST» .mycolumn есть и посмотреть, что произойдет. – dunce1

+0

@ dunce1 Я так не думаю, спасибо за предложение. Я попробую это позже. –

ответ

0

Эта ошибка возникает из-за названия зрения , Phoenix преобразует эти имена в прописные буквы, если они не указаны в двойных кавычках. Так что вам нужно быть осторожным при написании имени таблицы или столбца.

«тест» и «TEST», оба считаются различными, в данном случае.

В приведенном выше запросе имя представления будет «test», а «myColumn» следует указывать в двойных кавычках.

create view "test" (ID BIGINT NOT NULL PRIMARY KEY, "test"."mycolumn" varchar);