From a Sybase Database, how I can get table description ( field names and types)?
Sybase IQ:
describe table_name;
Check sysobjects and syscolumns tables.
Here is a diagram of Sybase system tables.
List of all user tables:
SELECT * FROM sysobjects WHERE type = 'U'
You can change 'U' to other objects:
- C – computed column
- D – default
- F – SQLJ function
- L – log
- N – partition condition
- P – Transact-SQL or SQLJ procedure
- PR – prepare objects (created by Dynamic SQL)
- R – rule
- RI – referential constraint
- S – system table
- TR – trigger
- U – user table
- V – view
- XP – extended stored procedure
List of columns in a table:
SELECT sc.*
FROM syscolumns sc
INNER JOIN sysobjects so ON sc.id = so.id
WHERE so.name = 'my_table_name'
sp_help
is what you're looking for.
From Sybase online documentation on the sp_help system procedure:
Description
Reports information about a database object (any object listed in sysobjects) and about system or user-defined datatypes, as well as computed columns and function-based indexes. Column displays optimistic_index_lock.
Syntax
sp_help [objname]
[...]
Here is the (partial) output for the publishers table (pasted from Using sp_help on database objects):
Name Owner Object_type Create_date
---------------- ----------- ------------- ------------------------------
publishers dbo user table Nov 9 2004 9:57AM
(1 row affected)
Column_name Type Length Prec Scale Nulls Default_name Rule_name
----------- ------- ------ ----- ------- ------- -------------- ----------
pub_id char 4 NULL NULL 0 NULL pub_idrule
pub_name varchar 40 NULL NULL 1 NULL NULL
city varchar 20 NULL NULL 1 NULL NULL
state char 2 NULL NULL 1 NULL NULL
Access_Rule_name Computed_Column_object Identity
------------------- ------------------------- ------------
NULL NULL 0
NULL NULL 0
NULL NULL 0
NULL NULL 0
Still quoting Using sp_help on database objects:
If you execute sp_help without supplying an object name, the resulting report shows each object in sysobjects, along with its name, owner, and object type. Also shown is each user-defined datatype in systypes and its name, storage type, length, whether null values are allowed, and any defaults or rules bound to it. The report also notes if any primary or foreign key columns have been defined for a table or view.