Свойство applications
вашего компонента должно быть установлено в какое-либо значение. Это можно установить в OnInit, например, columnDefinitions
, или установить для экземпляра компонента:
component = fixture.componentInstance;
component.applications = [];
fixture.detectChanges();
SELECT count(*) FROM user_tab_columns WHERE table_name = 'FOO'
должен дать Вам число столбцов в нечто. Можно получить довольно мало информации из USER_TAB_COLUMNS
и USER_TABLES
(существуют также ALL_
и DBA_
варианты).
@derobert имеет хороший ответ, пока Вы пытаетесь считать столбцы в таблице, которой Вы владеете. Если необходимо считать столбцы в таблицах другой схемы, необходимо будет использовать представление all_tab_columns. Один из дополнительных столбцов в этом представлении является владельцем таблицы. Это также полезно, когда то же имя таблицы существует в нескольких схемах. Обратите внимание, что у Вас должны быть полномочия на таблицах для наблюдения их в представлении all_tab_columns. Запрос становится:
select count(*) from all_tab_columns where owner='BAR' and table_name='FOO';
Отметьте владельца, и столбцы имени таблицы являются обычно верхним регистром.
Если бы Oracle поддерживала INFORMATION_SCHEMA.COLUMNS, то я сказал бы использование это. Но поскольку другие сказали, используйте ПОЛЬЗОВАТЕЛЯ _ представления %.
Для полноты следующая ссылка описывает, какие системы поддерживают Стандарт SQL-92. Системы та поддержка INFORMATION_SCHEMA