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

查询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

 

 

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐