欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

查询sqlserver所有表并改变其架构

程序员文章站 2022-06-20 22:30:51
查询sqlserver所有表并改变其架构   查询所有的数据库 select [name] from [sysdatabases] order by [...

查询sqlserver所有表并改变其架构

 

查询所有的数据库

select [name] from [sysdatabases] order by [name] 

查询一个数据库中的所有表

select [id], [name] from [sysobjects] where [type] = 'u'

 

 

都知道[type] = 'u' 是用户表,[type] = 's'是表吧。

 

根据上个语句的查询结果然后再

 

查询一个表中的所有字段(我尝试不用[id],而用[name]去查,结果报错了)

 

select [name] from [syscolumns] where [id] = 1931153925

 

 

以上是查询所有表:

 

以下是改变所有表架构:

 

在数据库testdb中存在架构a及用户a,现将testdb数据库所属的用户由a改为b,同时删除用户a;架构也由a改为b,删除架构a,操作如下:

 

1、创建用户b,再创建架构b;

 

2、将架构a的权限赋给用户b,取消用户a拥有架构a的权限,删除用户a;

 

3、将数据库的所有属于架构a的对象改为架构b,代码如下:

 

alter schema [新架构名] transfer 旧架构名.[数据库中的对象表或视图或存储过程]

alter schema [b] transfer a.[对象1]

alter schema [b] transfer a.[对象2]

alter schema [b] transfer a.[对象n]

 

 

4、删除架构a。

 

如:

alter schema dbo transfer danxiao1.ds_city1