Это действительно странно.Teradata блокирует таблицу для чтения при доступе к таблице через представление с правами доступа
У меня есть 2 вида, один с правами доступа и другие с правами чтения на таблицу.
replace view v1_read as locking row for read
select id1 from t1;
replace view v2_access as locking row for access
select id2 from t2;
Затем я бег такого запроса на выборке и искать объяснения плана:
select id1, id2
from v2_access left join v1_read on v2_access.id2=v1_read.id1;
Teradata блоки таблицу t2 для чтения, но он должен блокировать для доступа. Это ошибка?
Я могу сказать, Teradata, чтобы начать его заблокировать для доступа вручную следующим образом:
lock table t2 for access -- before the query
Однако существует проблема с таким решением - администраторы не дают такие грантов.
TD Выпуск: 15.10.03.07
TD Версия: 15.10.03.09
Как я могу исправить это?
Каков ваш релиз Teradata? – dnoeth
@dnoeth update question info – Rocketq
Хмм, я не знаю, было ли это документированным поведением, я бы никогда не создал представление с 'lock row read' (по умолчанию он по умолчанию). Вам лучше поговорить с вашим администратором базы данных, чтобы связаться с поддержкой Teradata. – dnoeth