SQL获取表定义

原创 2007年10月04日 21:13:00

查询某个库里所有表的定义,包括字段名,值类型,长度,是否为空,是否为主键等

 

SELECT SysObjects.Name as tb_name, SysColumns.Name as col_name, SysTypes.Name as col_type, SysColumns.Length as col_len, isnull(SysProperties.Value,SysColumns.Name) as col_memo,
case when SysColumns.name in 
 (
select '主键'=a.name 
 
FROM syscolumns a inner join sysobjects b on a.id=b.id   and b.xtype='U' and  b.name<>'dtproperties'
  
where exists
  (
SELECT 1 FROM sysobjects where xtype='PK' and name in 
   (
SELECT name FROM sysindexes WHERE indid in
    (
SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid
    )
   )
  ) 
 
and  b.name=SysObjects.Name)
then 1 else 0 end as is_key

FROM SysObjects,SysTypes,SysColumns 
LEFT JOIN SysProperties ON (Syscolumns.Id = Sysproperties.Id AND
Syscolumns.Colid 
= Sysproperties.Smallid)

WHERE (Sysobjects.Xtype ='u' OR Sysobjects.Xtype ='v'
AND Sysobjects.Id = Syscolumns.Id AND SysTypes.XType = Syscolumns.XType 
AND SysTypes.Name <> 'sysname' AND Sysobjects.Name Like '%' ORDER By SysObjects.Name, SysColumns.colid 

将最后一个“%”号改为某个数据表名,即是查看该表的定义

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

DLINQ(LINQ to SQL)之用户自定义函数、在不同的DataContext之间做更新、缓存、获取信息、数据加载选项和延迟加载

介绍 以Northwind为示例数据库,DLINQ(LINQ to SQL)之调用标量值用户自定义函数;调用表值用户自定义函数;使用数据加载选项加载数据;相关信息的获取;字段的延迟加载;在不同的Da...

Nutz使用笔记----获取插入数据id、自定义SQL

因为工作需要,使用的pg数据。在获取sequence时,一直获取不到,不知道是因为数据库设计问题还是Nutz中没找到合适的方法。最后发现其实在插入数据时,能返回当前id。 select next...

SQL Server自定义函数进行模糊查询返回表类型没有数据的问题

SQL Server2008中自定义函数进行模糊查询返回表类型没有数据的问题解决方法

【SqlServer】sql复制表定义及复制数据行

一、复制表定义 假设我们有一个数据表Person,有Id,FirstName,LastName,Weight,Height5个列,表结构可以参考这一篇。现在我们想创建一个新表叫People,表结构和...

SQL 用户定义表类型,在存储过程里使用数据类型作参数

在数据库编程里使用数据类型,可以提高代码的重用性,它们经常被使用在方法和存储过程中。使用数据类型,我们可以避免在存储过程里定义一串的参数,让人眼花缭乱,它就相当于面向对象语言里,向一个方法里传入一个对...

用sql语句复制表定义和复制数据行

一、复制表定义 假设我们有一个数据表Person,有Id,FirstName,LastName,Weight,Height5个列,表结构可以参考这一篇。现在我们想创建一个新表叫People,表结构和P...

SQL 语句(一)--------------模式及表的定义

/*定义模式*/ CREATE SCHEMA TEST AUTHORIZATION SONGJIE; /*默认模式名为用户名*/ CREATE SCHEMA AUTHORIZATION SONGJ...

[疯狂Java]SQL:DDL语句(定义、修改表结构)

1. DDL的概念:     1) 即Data Definition Language,即数据定义语言,操作的对象是数据库对象,主要用来定义数据对象;     2) 数据对象:共8种,分为4大类   ...

一次Sqlalchemy从model类定义到数据库表的SQL脚本自动生成日志

一次Sqlalchemy从model类定义到数据库表的SQL脚本自动生成日志 CREATE TABLE session ( session_id VARCHAR(128) NOT NULL, ...

Oracle自定义类型 Record + PL/SQL表

一,什么是记录Record和PL/SQL表?    记录Record:由单行多列的标量类型构成的临时记录对象类型。类似于多维数组。  PL/SQL表:由多行单列的索引列和可用列构成的临时索引表对...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)