SqlServer常用语句整理(后续更新)

sysobjecs中对象类型(xtype):
AF = Aggregate function (CLR)
C = 约束
D = 默认值约束
F = 外键约束
L = Log
FN = 标量值函数
FS = Assembly (CLR) 标量值函数
FT = Assembly (CLR) 表值函数
IF = In-lined table-function
IT = Internal table
P = 存储过程
PC = Assembly (CLR) 存储过程
PK = PRIMARY KEY constraint (type is K)
RF = Replication filter stored procedure
S = 系统表
SN = Synonym
SQ = Service queue
TA = Assembly (CLR) DML trigger
TF = Table function
TR = SQL DML Trigger
TT = Table type
U = 用户表
UQ = UNIQUE constraint (type is K)
V = 试图
X = 扩展存储过程

--批量修改表名为小写
declare @sql varchar(300)--,@rowcount varchar(10),@dyncnum int 
     declare @tablename varchar(100) 
     declare cursor1 cursor for         
     select name  from sysobjects  where xtype = 'u'  order by name               
     open cursor1                        
     fetch next from cursor1 into @tablename 
     while @@fetch_status=0            
     begin
         set @sql='sp_rename '''+@tablename+''','''+lower(@tablename)+'''' -- 此为修改为小写,如果修改为大写“upper”
         exec(@sql)              
         fetch next from cursor1 into @tablename 
     end
     close cursor1                    
     deallocate cursor1


--批量修改字段名为小写
declare @sql varchar(300)
     declare @tablecolumnname varchar(100), @columnname varchar(100)
     declare cursor1 cursor for         
     select b.name+'.['+a.name+']',a.name from syscolumns a  ,sysobjects b where a.id = object_id(b.name) and b.xtype = 'u' and a.xtype <>189 and a.xtype <>34 and a.xtype <>35 and a.xtype <>36                
     open cursor1                       
     fetch next from cursor1 into @tablecolumnname,@columnname
     while @@fetch_status=0           
     begin
         set @sql='sp_rename '''+@tablecolumnname+''','''+lower(@columnname)+''',''column''' -- 此为修改为小写,如果修改为大写“upper”
         exec(@sql)             
         fetch next from cursor1 into @tablecolumnname,@columnname
     end
     close cursor1                   
     deallocate cursor1

--批量修改架构名(包括表名和存储过程名)
declare @name sysname 
declare csr1 cursor 
for select TABLE_NAME from INFORMATION_SCHEMA.TABLES 
open csr1
FETCH NEXT FROM csr1 INTO @name 
while (@@FETCH_STATUS=0) 
BEGIN 
SET @name='原架构名.'+@name
EXEC SP_ChangeObjectOwner @name, '新架构名' 
fetch next from csr1 into @name
END 
CLOSE csr1 
DEALLOCATE csr1 

--快速查询表的总记录数
SELECT rows FROM sysindexes WHERE id= OBJECT_ID('rpt2014' ) AND indid< 2


--非递归查询树形结构表的所有子节点
WITH Tree AS (
       SELECT * FROM dbo .MgrObjType WHERE Id='00000000-A001-0000-0000-000000000000'
       UNION ALL
       SELECT MgrObjType.* FROM dbo .MgrObjType, Tree WHERE Tree.Id= dbo.MgrObjType .ParentId
)
SELECT * FROM Tree



--清除查询缓存

DBCC FREEPROCCACHE
DBCC DROPCLEANBUFFERS


--跨服务器的数据库查询
SELECT * FROM
OPENDATASOURCE('SQLOLEDB' , 'Data Source=172.18.24.245;User ID=sa;Password=aaa*'). CenterObj_xx.dbo .TableLog AS A
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值