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

时间: 2024-09-27 09:28:56

查询sqlserver所有表并改变其架构的相关文章

sql server-求助:SQLServer查询实现:有四个表,我如何实现查询得到新表??

问题描述 求助:SQLServer查询实现:有四个表,我如何实现查询得到新表?? 有四个表ZhiYu.DeYu.TiYu.Coursetype,都有共同字段coursetypeid.表Coursetype起提供课程名称的作用.表ZhiYu.DeYu.TiYu所有字段都相同. 问题:我如何实现查询表ZhiYu.DeYu.TiYu所有字段数据加表Coursetype中的课程名称?? 表如下图所示: 表ZhiYu: courseID coursename coursetypeID 100001 智育1

select-winfrom中如何把SqlServer数据库表查询出来的数据插入access数据库表中

问题描述 winfrom中如何把SqlServer数据库表查询出来的数据插入access数据库表中 sqlserver里面的数据是根据条件查询出来的,现在是把查询出来的数据,给他导入到access数据库中,但是不知道在C#后台中怎么写 跨数据库去执行insert select,求解啊啊啊啊啊啊 解决方案 大概的代码 DataTable table = new DataTable() SqlConnection sqlconn = new SqlConnection(connectionStr);

sql server-c# sqlserver 查询两个表中数据用datagridview 显示出来 老师出错 求大神指导

问题描述 c# sqlserver 查询两个表中数据用datagridview 显示出来 老师出错 求大神指导 string sql = " select a.2, a.3, b.2, b.3 from a, b, c where a.1= c.1 and b.1 = c.1 "; //查询语句太长 我就直接把意思表达出来 没有粘代码 DataSet ds1 = new DataSet(); DataTable dt = new DataTable (); DataSet ds2 =

查询问题 急急急-查询两个表的数据,然后第一个表的数据存在相同时,则只显示一行,其他的显示为空

问题描述 查询两个表的数据,然后第一个表的数据存在相同时,则只显示一行,其他的显示为空 如上图,第一个表的字段包含 内码.编号.客户.日期,第二个表包含出库单等字段,现在查询出来的数据,只要内码相同,则对应的内码.编号.客户.日期都显示为空,该如何写SQL语句,原SQL语句如下 select t1.内码,t1.编号,t1.客户,t1.日期,t2.出库单 from SEOrder t1 join icstockbill t2 on t1.FInterID=t2.FInterID 解决方案 dani

在sqlserver 数据库表中插入中文,查看表,中文显示乱码

问题描述 在sqlserver 数据库表中插入中文,查看表,中文显示乱码 sprintf(szSQL,"insert into %s (fromid,toid,time,msg,fontface,fontsize,fontcolor,fontflags) VALUES (%u,%u,%u,'%s','%s',%u,%u,%u)",TABLE_IM_MSG,ulFromID,ulToID,tCurrentTime,strMsg.c_str(),strfontface.c_str(),fo

sqlserver A表插入B表后如何返回A表原有ID和插入B表后新增ID的对应关系

问题描述 sqlserver A表插入B表后如何返回A表原有ID和插入B表后新增ID的对应关系 表:A id(自增), name 1 'a' 2 'b' 表 B id(自增), name 3 'c' 4, 'd' 执行 insert into B(name) select name from A 表 B id(自增), name 3 'c' 4 'd' 5 'a' 6 'b' 现在的问题是如何返回 A表插入B表后新增的ID及原A表的ID对应关系 newID oldID 5 1 6 2 解决方案

SQLServer恢复表级数据

原文:SQLServer恢复表级数据        最近几天,公司的技术维护人员频繁让我恢复数据库,因为他们总是少了where条件,导致update.delete出现了无法恢复的后果,加上那些库都是几十G.恢复起来少说也要十几分钟.为此,找了一些资料和工作总结,给出一下几个方法,用于快速恢复表,而不是库,但是切记,防范总比亡羊补牢好.        在生产环境或者开发环境,往往都有某些非常重要的表.这些表存放了核心数据.当这些表出现数据损坏时,需要尽快还原.但是,正式环境的数据库往往都是非常大的

查询指定的表在那些数据库中存在

数据|数据库 --查询指定的表在那些数据库中存在 declare @tbname sysnameset @tbname='客户资料' declare @dbname sysname,@sql nvarchar(4000),@re bit,@sql1 varchar(8000)set @sql1=''declare tb cursor for select name from master..sysdatabasesopen tb fetch next from tb into @dbnamewh

用联接来查询两个表

本文仅作为初学者SQL应用备忘录 我们经常要查询两个表中某个字段相同的和不同的记录,用联接来进行查询可以很方便地得到所要的结果.一.什么是联接 联接:join 表示两个表的关系,我们可以把两个表看成两个集合.假设有两个表,我们用A和B来表示,这两个表有一个或者多个相同的字段.那么,就存在着以下三个不同的集合:1.交集:两个表中字段相等的记录2.A交B补:在A中,且相同字段的内容不等于B的记录3.B交A补:在B中,且相同字段的内容不等于A的记录 二.用联接来查询 join有三种用法与以上三个集合对