sql的一些实用技巧收集!

 先来一个,打开sql  STATISTICS 的I/O状态,可看到读I/O的状态!

SET STATISTICS IO ON
GO

 

下面一个关于循环取值的问题,别人写的句SQL,很值得借鉴~

 

DECLARE @var NVARCHAR(1000)
SET @var = '11¦22¦33¦44¦55'
set @var=replace(@a,'¦',' union all select ')
exec('select '+@var)

 

  1. --根据组来汇总
  2. select c,sum(id) from b group by c with rollup 
  3. create table #a(姓名 varchar(10),学科 varchar(10),分数 int
  4. insert #a select '001',  '语文', 98 
  5. insert #a select '001',  '数学', 95 
  6. insert #a select '001',  '外语', 92 
  7. insert #a select '002',  '语文', 98 
  8. insert #a select '002',  '数学', 95 
  9. insert #a select '002',  '外语', 92 
  10. ---------------------------------------------- 
  11. select 姓名,学科,sum(分数) 分数 from #a group by 姓名,学科 with rollup having 姓名 is not null 
  12. ----------------------- 
  13. 001 数学 95 
  14. 001 外语 92 
  15. 001 语文 98 
  16. 001 NULL 285 
  17. 002 数学 95 
  18. 002 外语 92 
  19. 002 语文 98 
  20. 002 NULL 285

 

--获取存储过程的参数,类型,长度
select  
  a.name
'参数',
  b.name
'类型',
  a.length
'长度'    
from  
  syscolumns a,
  systypes b  
where  
  id
=object_id('proc_test')  
and  
  a.xtype
=b.xtype

--查看存储过程的定义
exec   sp_helptext 'proc_test'

 

 

 

 

将数据取出存入一实体表,不需要表结构

select * into newtable from table

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值