Sybase Anywhere 11 元数据[SQL Schema]

简介:

正文

  一、取得所有用户表

select  st.table_name,st.remarks  from  sysobjects tbl 
inner   join  SYSTABLE st  on  st. object_id   =  tbl.id
where  tbl.type  =   ' U '   and  tbl.uid  =   1


 

  二、取得表的详细字段信息

select  c.name  as  ColumnName, c.length, c.prec, c.scale,baset.name  as   [ DataType ] ,stb.pkey,stb. [ nulls ] ,stb. [ default ] ,stb.remarks
from  sysobjects tbl
inner   join  dbo.syscolumns  as  c  on  tbl.id = c.id
inner   join  SYSTABLE st  on  st. object_id   =  tbl.id
inner   join  SYSCOLUMN stb  on  stb.column_name  =   c.name  and  stb.table_id  =  st.table_id
inner   join  systypes  as  baset  on  c.type  =  baset.type  and  c.usertype  =  baset.usertype
where  tbl.name = ' {0} '   and  tbl.type  =   ' U '   and  tbl.uid  =   1

    注意"tbl.name='{0}'"替换成表名,这里就不考虑额外的情况了。

 

  三、注意问题
 

    3.1  以上取表结构语句不能取到数据类型为“uniqueidentifierstr”的字段,这个字段在sysobjects和syscolumns没有!!但是SYSCOLUMN里面能找到,所以随后需要再研究一下,找到办法了会再来更新此文。

    3.2  取试图和存储过程等其他取元数据的SQL语句随后要用到或者有时间并且能弄出来的话再贴出来更新此文。

 

结束语

  明白原理了,就不用花大把大把的时间去研究人家工具了,一方面有点杀鸡用牛刀,再者自己写的时间比研究工具的时间可能要短,并且更加实用一些(找破解、一动就是几百兆的软件安装 - -#)。再次感谢搜索引擎,虽然没有直接找到,但是给的暗示足够我完成这项任务 : )
 


本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/586708,如需转载请自行联系原作者

相关文章
|
3月前
|
SQL 监控 关系型数据库
SQL语句当前及历史信息查询-performance schema的使用
本文介绍了如何使用MySQL的Performance Schema来获取SQL语句的当前和历史执行信息。Performance Schema默认在MySQL 8.0中启用,可以通过查询相关表来获取详细的SQL执行信息,包括当前执行的SQL、历史执行记录和统计汇总信息,从而快速定位和解决性能瓶颈。
143 1
|
SQL 分布式计算 HIVE
spark sql编程之实现合并Parquet格式的DataFrame的schema
spark sql编程之实现合并Parquet格式的DataFrame的schema
374 0
spark sql编程之实现合并Parquet格式的DataFrame的schema
|
SQL Oracle 关系型数据库
SQL标准对schema如何定义?
ISO/IEC 9075-1 SQL标准中将schema定义为描述符的持久命名集合(a persistent, named collection of descriptors),如果你之前对schema的定义疑惑不解,希望看了我的这篇文章会好一些,起码不会更差。 广义上 造成疑惑的另一个原因可能是由于schema这一术语具有如此广泛的含义,因为它在不同的环境下有不同的含义,schema一词源于希腊语skhēma,意思是形态(form),轮廓(figure),形状(shape)或方案(plan)。Schema在心理学中被用来描述组织信息类别及其之间关系的有组织的思维或行为模式。我们在设计一个数
381 0
|
SQL 关系型数据库 MySQL
SQL 手册-实用 SQL 语句-跨Schema
PolarDB-X 1.0实例中通常有多个Schema,PolarDB-X 1.0支持通过SQL语法进行跨Schema的查询,效果与MySQL的跨Schema查询类似。
682 0
|
SQL 数据库
sql server2008 搭建链接服务器成功后查询时报Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider "SQLNCLI10" for linked server "XXXXX". 的解决方法
原文:sql server2008 搭建链接服务器成功后查询时报Cannot obtain the schema rowset "DBSCHEMA_TABLES_INFO" for OLE DB provider "SQLNCLI10" for linked server "XXXXX".
1066 0
|
5月前
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")

热门文章

最新文章