sql >> Base de Datos >  >> RDS >> Oracle

Consulta de Oracle para obtener nombres de columna

El equivalente de Oracle para information_schema.COLUMNS es USER_TAB_COLS para tablas propiedad del usuario actual, ALL_TAB_COLS o DBA_TAB_COLS para tablas propiedad de todos los usuarios.

Tablespace no es equivalente a un esquema, tampoco es necesario proporcionar el nombre del tablespace.

Proporcionar el esquema/nombre de usuario sería útil si desea consultar ALL_TAB_COLS o DBA_TAB_COLS para columnas DE tablas propiedad de un usuario específico. en su caso, imagino que la consulta se vería así:

String sqlStr= "
SELECT column_name
  FROM all_tab_cols
 WHERE table_name = 'USERS'
   AND owner = '" +_db+ "'
   AND column_name NOT IN ( 'PASSWORD', 'VERSION', 'ID' )"

Tenga en cuenta que con este enfoque, corre el riesgo de inyección SQL.

EDITAR: En mayúsculas los nombres de las tablas y columnas, ya que estos suelen estar en mayúsculas en Oracle; solo son minúsculas o mixtas si se crean entre comillas dobles.