команда для извлечения типов данных полей в таблице для сохранения в наборе результатов в оракуле БД - PullRequest
0 голосов
/ 23 мая 2018

Использование Oracle DB и JDBC для извлечения типов данных из таблицы для сохранения в наборе результатов, а затем для вставки значений на основе типов данных.Использовал "Desc", чтобы получить тип данных таблицы, но получил неверный SQL-оператор.

ResultSet rs = null;
Statement stmt = null;
String val = "";
String query = "desc EMS#CHANNELS";

Map<String,String> hm = new HashMap<String,String>();
ArrayList al = new ArrayList();
Connection conn = DBUtil.getOraDBConnection();
Logger.info("get the table desc="+query);
stmt = conn.createStatement();
rs = stmt.executeQuery(query);

1 Ответ

0 голосов
/ 23 мая 2018

DESC - сокращение от DESCRIBE.

DESCRIBE - это не команда или программа sql / plsql базы данных.

Это особенность SQL * Plus, который является клиентским приложением для взаимодействия сбаза данных.

Эквивалент SQL будет выглядеть примерно так:

select COLUMN_NAME
      ,DATA_TYPE
      ,DATA_PRECISION
      ,DATA_SCALE
  from DBA_TAB_COLS -- DBA_ views are faster but require higher privs than ALL_ views
 where OWNER = 'HR'
   and TABLE_NAME = 'EMPLOYEES'
 order by COLUMN_ID desc;

Возможно, вы захотите взглянуть на oracle.jdbc Класс OracleDatabaseMetaData

ВотМетаданные JDBC, используемые для поиска столбцов таблицы: JDBC DatabaseMetaData.getColumns () возвращает дубликаты столбцов

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