带你深入了解T-SQL的十一种设计模式
2008-09-04 10:00:41 来源:WEB开发网一、ITERATOR(迭代)
这种模式提供一种在相似对象列表中遍历对象的标准化方法。在SQL Server数据库中的同义词是游标。
DECLARE tables CURSOR
FOR select TABLE_NAME FROM INFORMATION_SCHEMA.TABLES
FOR READ ONLY
DECLARE @table varchar(40)
OPEN tables
FETCH tables INTO @table
WHILE (@@FETCH_STATUS = 0)
BEGIN
exec sp_help @table
FETCH tables INTO @table
END
CLOSE tables
DEALLOCATE tables
注:游标的清理代码:在CLOSE后紧跟DEALLOCATE,实际上可以只运行DEALLOCATE,并且游标也能自动关闭。但这不是最自然,也不是最常见的方法。大家可以理解为:CLOSE抵消OPEN,DEALLOCATE与DECLARE则相反,这样可以使代码保持对称并且合乎逻辑。
二、INTERSECTOR(交集)
这种模式是表示集合交集的一种模板。
1、推荐方法:
select c.companyname,o.orderid
FROM customer c INNER join orders o ON c.customerid = o.customerid
2、旧式语法(不推荐使用)
select c.companyname,o.orderid
FROM customer c ,orders o
where c.customerid = o.customerid
注:实现集合交集还有许多变种方法。但是惯例方法就是方法1,方法2在实现左(右)联接时,条件的表示及结果都可能出现问题,SQL SERVER的后续版本将会取消此种联接方式。
三、QUALIFIER(限定)
限定数据等价于筛选查询所返回的行数。
1、常用法:where子句限定
select city,count(*) AS NumberCity
FROM customers
where city like ’A%’
GROUP BY city
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››sqlserver 每30分自动生成一次
- ››sqlite 数据库 对 BOOL型 数据的插入处理正确用法...
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
更多精彩
赞助商链接