SQL SERVER2000 的一些技巧

发表于:2014-3-19 09:47

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:ucliaohh    来源:51Testing软件测试网采编

分享:
  3.单独查询表的递增字段
  --单独查询表递增字段
  select [name] from syscolumns where
  id=object_id(N'你的表名') and COLUMNPROPERTY(id,name,'IsIdentity')=1
  4.获取表的主外键
  --获取表主外键约束
  exec sp_helpconstraint   '你的表名' ;
  5.相当完整的表结构查询
  --很全面的表结构
exec sp_helpconstraint   '你的表名' ;
SELECT 表名 = CASE a.colorder WHEN 1 THEN c.name ELSE '' END,
序    = a.colorder,
字段名= a.name,
标识 = CASE COLUMNPROPERTY(a.id,a.name,'IsIdentity') WHEN 1 THEN '√' ELSE '' END,
主键 = CASE
WHEN EXISTS ( SELECT * FROM sysobjects WHERE xtype='PK'
AND name IN (SELECT [name] FROM sysindexes   WHERE id=a.id
AND indid IN (SELECT indid FROM sysindexkeys WHERE id=a.id
AND colid IN (SELECT colid FROM syscolumns   WHERE id=a.id
AND name=a.name)))) THEN '√' ELSE '' END,
类型= b.name,
字节数= a.length,
长度 = COLUMNPROPERTY(a.id,a.name,'Precision'),
小数 = CASE ISNULL(COLUMNPROPERTY(a.id,a.name,'Scale'),0) WHEN 0 THEN '' ELSE CAST(COLUMNPROPERTY(a.id,a.name,'Scale') AS VARCHAR) END,
允许空= CASE a.isnullable WHEN 1 THEN '√' ELSE '' END,
默认值= ISNULL(d.[text],''),
说明 = ISNULL(e.[value],'')
FROM syscolumns a
LEFT JOIN systypes b ON a.xtype=b.xusertype
INNER JOIN sysobjects c ON a.id=c.id AND c.xtype='U' AND c.name<>'dtproperties'
LEFT JOIN syscomments d ON a.cdefault=d.id
LEFT JOIN sys.extended_properties e ON a.id=e.class AND a.colid=e.minor_id
ORDER BY c.name, a.colorder
  6.获取所有的库名
  --获取服务器中的所有库名
  select * from master..sysdatabases
  7.获取服务器上所有库的所有表
  --获取服务器上所有库的所有表名
use master
declare @db_name varchar(100)
declare @sql varchar(200)
declare cur_tables cursor
for
select name from sysdatabases /*where name like 'by_%'*/
open cur_tables
fetch next from cur_tables into @db_name
while @@fetch_status = 0
begin
--set @db_name = @db_name + '.dbo.sysobjects'
print @db_name
set @sql = 'select * from ' + @db_name + '.dbo.sysobjects where xtype =''U'''
exec (@sql)
fetch next from cur_tables into @db_name
end
close cur_tables
deallocate cur_tables
go
32/3<123>
重磅发布,2022软件测试行业现状调查报告~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海漕溪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号