I have "read only" access to a few tables in an Oracle database. I need to get schema information on some of the columns. I'd like to use something analogous to MS SQL's sp_help
.
I see the table I'm interested in listed in this query:
SELECT * FROM ALL_TABLES
When I run this query, Oracle tells me "table not found in schema", and yes the parameters are correct.
SELECT
DBMS_METADATA.GET_DDL('TABLE', 'ITEM_COMMIT_AGG', 'INTAMPS') AS DDL
FROM DUAL;
After using my Oracle universal translator 9000 I've surmised this doesn't work because I don't have sufficient privileges. Given my constraints how can I get the datatype and data length of a column on a table I have read access to with a PL-SQL statement?
You can use the
desc
command.This will give you the column names, whether null is valid, and the datatype (and length if applicable)
ALL_TAB_COLUMNS
should be queryable from PL/SQL.DESC
is a SQL*Plus command.Quick and dirty way (e.g. to see how data is stored in oracle)
will show that dummy column in table sys.dual has typ=1 (varchar2), while 10 is Typ=2 (number).
Oracle: Get a list of the full datatype in your table: