摘要:在项目中遇到了一个层级关系,情况如下,要在用户信息表中找到汇报给大区销售经理的员工信息(含汇报给大区销售经理的员工的员工),1 及:大区销售经理2级:汇报给大区销售经理的直接汇报对象3级:汇报给2级的直接对象;为了以后方便查找此资料,现在我把大区销售经理的id 看成2,T-SQL语句如下:T-SQL1 With temp_1 AS(2 SELECT ee.EmployeeID ,ee.LastName +' '+ee.FirstName as Name FROM Employees ee INNER JOIN Employees tt ON tt.EmployeeID = ee
阅读全文
03 2012 档案
摘要:递归式指代码片段调用自身的情况;危险之处在于:如果调用了自身一次,那么如何防止他反复地调用自身。也就是说提供递归检验来保证适当的时候可以跳出。以阶层为例子说存储过程中递归的调用。递归 1 CREATE PROC [dbo].[usp_spFactorial] 2 @InputValue INT, 3 @OuputValue INT OUTPUT 4 AS 5 BEGIN 6 DECLARE @InValue INT; 7 DECLARE @OutValue INT; 8 IF(@InputValue!=1) 9 BEGIN...
阅读全文
摘要:在开始使用 FILESTREAM 之前,必须在 SQL Server 数据库引擎实例中启用 FILESTREAM。本主题说明了如何使用 SQL Server 配置管理器来启用 FILESTREAM。启用和更改 FILESTREAM 设置在“开始”菜单中,依次指向“所有程序”、“Microsoft SQL Server 2008”和“配置工具”,然后单击“SQL Server 配置管理器”。在服务列表中,右键单击“SQL Server 服务”,然后单击“打开”。在“SQL Server 配置管理器”管理单元中,找到要在其中启用 FILESTREAM 的 SQL Server 实例。右键单击该实例
阅读全文
摘要:经常会遇见要在存储过程中获得刚刚插入成功记录的自增长列的数据,SQL server给我们提供了一个全局变量@@identity,它可以获得刚刚插入成功的自增列列的信息,需要注意,如果一次插入多条数据,这个@@identity就是最后一条记录的自增列的信息;如果表中没有自增长列,@@identity的值就是NULL。举例如下:Orders 主表 1 CREATE TABLE Orders( 2 OrderID INT IDENTITY(1,1) NOT NULL PRIMARY KEY, 3 OrderDate datetime , 4 ShippeDate datetime, 5 Shi...
阅读全文
摘要:外键是双向的,即不仅是限制子表的值必须存在于父表中,而且还在每次对父表操作后检查子表,数据库默认行为子行存在时候限制对父行不被删除。某些时候,我们需要能够自动删除相关记录,而不是防止删除被引用的记录。举例如下:创建有关联关系的两个table 1 USE DataBaseBulkCopy 2 GO 3 CREATE TABLE Orders( 4 OrderID INT NOT NULL , 5 CustomerID CHAR(5) NULL, 6 OrderDate datetime default getdate(), 7 ShipName nvarchar(40) Null,...
阅读全文
摘要:在项目中遇见到查询参考此报价地区的地区信息,并且把此地区的信息与查询出来的参考报价地区信息组成一张临时表,这用到UNION 或则UNION all,SQL 代码如下:SQL 11 CREATE TYPE TY_AreaANDGoods AS TABLE(2 AreaID INT,3 TypeID INT4 )5 DECLARE @dt TY_AreaANDGoods;6 INSERT INTO @dt VALUES(1,1);7 SELECT aa.AreaId,aa.GoodsTypeId FROM MD_Area aa,@dt tt WHERE aa.QuotationType...
阅读全文