SqlServer中的查询语句(2)
来源:未知 责任编辑:责任编辑 发表时间:2014-01-26 22:00 点击:次
--SET @temp_cursor = CURSOR FOR SELECT * FROM #temp;
--创建时FORWARD_ONLY,游标移动时只能FETCH NEXT
--SET @temp_cursor = CURSOR LOCAL FORWARD_ONLY FOR SELECT * FROM #temp;
--创建时SCROLL,游标可以任意移动
SET @temp_cursor = CURSOR LOCAL SCROLL FOR SELECT * FROM #temp;
SET @temp_cursor = CURSOR LOCAL FOR SELECT * FROM #temp;
OPEN @temp_cursor;
DECLARE @itemCode VARCHAR(10);
DECLARE @theDate common.DT_Date;
DECLARE @obj VARCHAR(10);
DECLARE @objType VARCHAR(10);
DECLARE @theCount INT ;
FETCH NEXT FROM @temp_cursor INTO @itemCode, @theDate, @obj, @objType, @theCount
UPDATE #temp SET Count = 100 WHERE CURRENT OF @temp_cursor;
SELECT * FROM #temp;
CLOSE @temp_cursor;
DEALLOCATE @temp_cursor;
DROP TABLE #temp;
Truncate删除代码
TRUNCATE TABLE #temp;
--Truncate删除比Delete快,
--但删除后不能RollBack
--Delete是物理-次一行删除
--Truncate释放所有与表关联列
Union与union all代码
SELECT TOP 2 *
FROM dbo.Audit_Stat
WHERE AuditItem = '010'
UNION ALL
SELECT TOP 2 *
FROM dbo.Audit_Stat
WHERE AuditItem = '010'
--UNION,UNION ALL
--可以将查询出的结果进行联合,但必须注意的是,
--查询的结果对应结构相同,对应的类型兼容
--UNION:对于查询的结果,如果相同,则合并
--UNION ALL: 对应查询的结果,直接联接,不合并
Having语句应用代码
SELECT AuditItem, SUM(Count) sum
FROM dbo.Audit_Stat
GROUP BY AuditItem
HAVING SUM(Count) > 1000;
--HAVING可对分组后的集合进行过滤
Group by 与 all的应用代码
SELECT AuditItem, SUM(Count) FROM dbo.Audit_Stat WHERE AuditItem = '030'
GROUP BY ALL AuditItem;
--注意Where语句的添加后,对于all更有对比性
--不加all时,仅显示AuditItem = '030'的Code和对应的和
--加上all时,显示所有的AuditItem,但对应的和为空
Like查询代码
SELECT * FROM dbo.Audit_Stat WHERE AuditItem LIKE '0[^0-2]0';
--%匹配任意个字符
--_匹配单个字符
--[0-9]匹配该范围中的单个字符
--[^0-9]匹配不在该范围中的单个字符
相关新闻>>
最新推荐更多>>>
- 发表评论
-
- 最新评论 更多>>