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 

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

润乾报表中API自定义数据集

报表的数据来源大部分来自数据库,正常情况润乾报表都能自动处理,但是也会有特殊的情况,例如通过中间件连接数据库而非直连?通过业务程序算出的数据传递给报表进行展现等等。因此需要用户自定义数据集,我们看一个...
  • Alice_656
  • Alice_656
  • 2016年12月12日 17:26
  • 1448

Sql server 浅谈用户定义表类型

1.1 简介 SQL Server 中,用户定义表类型是指用户所定义的表示表结构定义的类型。您可以使用用户定义表类型为存储过程或函数声明表值参数,或者声明您要在批处理中或在存储过程或函数的主体中使用...
  • yf505261213
  • yf505261213
  • 2014年02月14日 16:56
  • 6509

使用SQL语句获取SQLite中的表定义

1. 问题提出有人问,在sqlite中怎么用sql语句得到一个表的列定义语句。第一反应,可能就是用.schema 可是这是sqlite的shell命令行。使用代码,好像得不到结果。幸好,sqlite它...
  • iihero
  • iihero
  • 2013年12月11日 11:23
  • 4540

WinForm+SQL多表联合自定义查询

  • 2017年12月13日 09:39
  • 99KB
  • 下载

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

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

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

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

一、数据库概念与SQL语言基础——定义表、添加、修改约束

第一章 数据库 1、DDL数据定义语言 2、DML数据操作语言 3、程序与数据相互独立 逻辑独立性 物理独立性 第二章 数据库系统结构 1、数据模型三要素 数据的基本结构、数据的约束条...
  • w630131
  • w630131
  • 2016年04月16日 10:32
  • 284

SQL2008 用户定义表类型

sql server2008是微软最新数据库系统,它在数据库引擎中的可编程性增强功能包括新数据存储功能、新数据类型、新全文搜索体系结构以及对 Transact-SQL 所做的许多改进和添加。 本...
  • czmagic
  • czmagic
  • 2011年09月05日 16:50
  • 2215

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

一,什么是记录Record和PL/SQL表?    记录Record:由单行多列的标量类型构成的临时记录对象类型。类似于多维数组。  PL/SQL表:由多行单列的索引列和可用列构成的临时索引表对...
  • feimashenhua
  • feimashenhua
  • 2012年01月05日 13:42
  • 2726

2014.08.24 周日-sql语句:数据库、表、增删改查、合计函数、定义表的约束-http响应头

一、 1、
  • a520bc
  • a520bc
  • 2014年08月24日 09:55
  • 636
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL获取表定义
举报原因:
原因补充:

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