sql临时表,表变量,CTE,游标使用方法
2014-01-02 15:34
381 查看
if OBJECT_ID('groups') is not null drop table groups create table groups ( groupid varchar(10), val int null ) insert into groups values('a','1'); insert into groups values('a','2'); insert into groups values('a','3'); insert into groups values('b','3'); insert into groups values('b','4'); insert into groups values('b','2'); --临时表 if OBJECT_ID('#tmp') is not null drop table #tmp go create table #tmp ( groupid varchar(10), val int null ) insert into #tmp select * from groups where groupid='b' select * from #tmp drop table #tmp go --临时表2 select * into #tmp from groups where groupid ='b' select * from #tmp drop table #tmp go --表变量 declare @t table(id varchar(10),val int) insert into @t select * from groups where groupid='b' select * from @t; --CTE with tb(id,value) as --alias column name ( select * from groups where groupid='b' ) select * from tb --游标 if OBJECT_ID('#tmp') is not null drop table #tmp go create table #tmp ( groupid varchar(10), val int null ) declare @id varchar(10), @val int declare c cursor fast_forward for select * from groups where groupid='b' open c fetch next from c into @id,@val while @@FETCH_STATUS =0 begin insert into #tmp values(@id,@val) fetch next from c into @id,@val end close c deallocate c select * from #tmp
※注意事项
1,CTE后面紧跟delete语句时,cte的查询语句中只能是单表,否者删除不成功。
相关文章推荐
- Oracle游标使用方法(&游标里使用变量绑定)
- SQL Server遍历表中记录的2种方法(使用表变量和游标)
- c++ 使用全局变量的方法多个文件
- python中操作数据库中游标的使用方法
- 页面间传递变量的方法及使用范围的讨论
- SQL游标原理和使用方法
- 两个变量交换值,不使用缓存的方法
- Eclipse使用之五 (选中变量、方法…
- SQL SERVER 临时表与表变量的使用方法
- JDBC使用游标实现分页查询的方法
- SQL游标原理和使用方法
- 数据库中暂时表,表变量和CTE使用优势极其差别
- 全局变量声明,定义与使用方法
- Activity使用另一个Activity中的方法与变量
- 【Java】Static使用之静态变量,静态方法,静态初始化块
- Mac 下配置环境变量造成命令行命令无法使用的解决方法
- mysql 存储过程中 limit之后使用分页变量,传入分页参数. 类似于微博游标分批次获取信息;问号参数类似于c#的string.format;问号占位符
- JQuery中使用Ajax赋值给全局变量异常的解决方法
- spark 2.2.0 共享变量使用方法 python版