Как я могу получить первый столбец в таблице оракула? - PullRequest
2 голосов
/ 16 декабря 2010

Мне нужно получить первый столбец в таблице оракула для моего запроса выбора, т.е. SELECT FIRST_COLUMN из TABLE.Как я могу это сделать?У меня нет доступа к таблицам SYS, т.е. нет доступа к таблицам, таким как user_tab_columns.Возможно ли это сделать?

Ответы [ 2 ]

3 голосов
/ 17 декабря 2010

У вас ВСЕГДА есть доступ к USER_TAB_COLUMNS.

Слишком много вещей ломается, если администратор базы данных пытается их отозвать.

1 голос
/ 16 декабря 2010

Похоже, у вас очень ограниченный доступ.Если ваши учетные записи имеют доступ к DBMS_SQL, вы можете попробовать следующее:

declare
lv_stat VARCHAR2(300) := 'SELECT * FROM tablename';
lv_cid integer;
lv_tab DBMS_SQL.DESC_TAB;
lv_cnt int;
begin
  lv_cid := DBMS_SQL.OPEN_CURSOR;
  DBMS_SQL.PARSE(lv_cid,lv_stat,DBMS_SQL.NATIVE);
  DBMS_SQL.DESCRIBE_COLUMNS(lv_cid,lv_cnt,lv_tab);
  DBMS_OUTPUT.PUT_LINE('First Column is '||lv_tab(1).col_name);
  DBMS_SQL.CLOSE_CURSOR(lv_cid);
  EXCEPTION
  when others then
  DBMS_SQL.CLOSE_CURSOR(lv_cid);
end;

Это может быть включено в функцию PL / SQL.Наверное, проще общаться с администраторами баз данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...