2009-02-25 68 views
11

Acabo de descargar la edición para desarrolladores de SQL Anywhere. ¿Cómo puedo obtener una lista de tablas en la base de datos a la que estoy conectado? También para una tabla en particular, ¿cómo obtengo los metadatos para esa tabla (nombres de columna, tipos, etc.)?¿Detalles de tabla en SQL Anywhere?

+0

me dieron respuesta a la parte de mi pregunta en relación con el cuadro detalles aquí: http://stackoverflow.com/questions/100504/what-is-the-sql-command-to-return-the -field-names-of-a-table Pero aún no sé cómo encontrar la lista de tablas. Aunque tengo una idea, déjame intentar :) – virtualmic

Respuesta

11

No he utilizado SQL en cualquier lugar desde hace muchos años, sin embargo la siguiente declaración debe trabajar

select c.column_name 
from systabcol c 
    key join systab t on t.table_id=c.table_id 
    where t.table_name='tablename' 

Esto fue cribbed directamente de an earlier question

1

de Windows Suponiendo: Inicio - Todos los programas - SQL Anywhere 11 - Sybase centrales

Entonces Conexiones - Conéctate con SQL Anywhere 11 ...

Seleccione "nombre de origen de datos ODBC" yp ick "SQL Anywhere 11 Demo"

Presione OK para ver una vista en árbol de los diversos objetos en la base de datos (tablas etc.).

5
select * from systable // lists all tables 
select * from syscolumn // lists all tables columns 
4

Para una tabla específica:

describe TableName 

volverá columnas de la tabla, con una indicación del tipo de la columna, si es anulable y una clave primaria

1
SELECT b.name + '.' + a.name 
    FROM sysobjects a, sysusers b 
WHERE a.type IN ('U', 'S') 
    AND a.uid = b.uid 
ORDER BY b.name, a.name 

Esto producirá una lista de tablas y usuarios que tienen acceso a ellos.

0

proc Sistema, sa_describe_query es bastante útil

SELECT * FROM sa_describe_query('select * from TableName')

0

para obtener la lista de todas las tablas utilizadas en la base de datos:

select * from systable //without 's' 

para obtener la lista de todas las columnas:

select * from syscolumn //without 's' 
+0

Esto ya fue respondida anteriormente: http://stackoverflow.com/a/682626/334849 – LittleBobbyTables

-1

Para seleccionar una tabla detalla

select * from Table_Name; 

Para seleccionar dos tablas diferentes y Mapa con id

select * from Table_1 t1,Table2 t2 where t2.id=ti.id; 
-1

select * from user_tables;

desc tablename;

+0

Eso no es válido para SQL Anywhere. –