SQL Server

1.通过触发器来级联删除:

具体的触发器代码如下:

Create TRIGGER [dbo].[DeleteRelatedProducts] ON  [dbo].[ProductCategory] 
 AFTER DELETE
 AS 
 BEGIN     
SET NOCOUNT ON;     
delete from [dbo].[product] where categoryId in     
(         select id from deleted     ) 
END

2.smalldatetime 规则约束
create rule r_sbirthday as @sbirthday>'1990-1-1 00:00:00' and @sbirthday<'2016-11-29 00:00:00'


3.规则

CREATE RULE SalaryRule AS @Salary > 0;
exec sp_helptext SalaryRule; 

     ● 绑定规则与反绑定 
        语法定义 :sp_bindrule <’rule’>, <’object_name’>, [<’futureonly_flag’>] 

EXEC sp_bindrule ‘SalaryRule’, ‘Employees.Salary’  
EXEC sp_unbindrule ‘Employees.Salary’ 

     ● 删除规则 

DROP RULE ‘SalaryRule’ 

用 ORDER BY 对行进行排序

ORDER BY 子句按一列或多列(最多 8,060 个字节)对查询结果进行排序。有关 ORDER BY 子句最大大小的详细信息,请参阅 ORDER BY 子句 (Transact-SQL)

从 SQL Server 2005 开始,SQL Server 允许在 FROM 子句中指定对 SELECT 列表中未指定的表中的列进行排序。ORDER BY 子句中引用的列名必须明确地对应于 SELECT 列表中的列或 FROM 子句中的表中的列。如果列名已在 SELECT 列表中有了别名,则 ORDER BY 子句中只能使用别名。同样,如果表名已在 FROM 子句中有了别名,则 ORDER BY 子句中只能使用别名来限定它们的列。

排序可以是升序的 (ASC),也可以是降序的 (DESC)。如果未指定是升序还是降序,就假定为 ASC。

下面的查询返回按 ProductID 升序排序的结果:

USE AdventureWorks2008R2;
GO
SELECT ProductID, ProductLine, ProductModelID
FROM Production.Product
ORDER BY ProductID;
原文地址:https://www.cnblogs.com/laochake/p/6114325.html