萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> sql server教程 >> UDF在層次型數據處理中的妙用之一

UDF在層次型數據處理中的妙用之一

UDF在層次型數據處理中的妙用

一、概述

  本文介紹如何在管理層次結構的數據時使用sql server UDF(用戶定義函數),以及UDF在層次數據處理方面的強大功能。在本文例子中,我要用到一個Employees表。Employees表中的每一個雇員有一個mgrid屬性,該屬性保存的是雇員所屬的管理員ID。每一個管理員同時也是雇員,從而形成一種層次關系。Listing 1顯示了創建Employees表和插入數據的腳本。


LISTING 1:Employees表結構和數據

CREATE TABLE Employees(
empid int NOT NULL,
mgrid int NULL,
empname varchar(25) NOT NULL,
salary money NOT NULL,
CONSTRAINT PK_Employees_empid PRIMARY KEY(empid),
CONSTRAINT FK_Employees_mgrid_empid
FOREIGN KEY(mgrid)
REFERENCES Employees(empid))

CREATE INDEX idx_nci_mgrid ON Employees(mgrid)

INSERT INTO Employees VALUES(1 , NULL, 'Nancy' , $10000.00)
INSERT INTO Employees VALUES(2 , 1 , 'Andrew' , $5000.00)
INSERT INTO Employees VALUES(3 , 1 , 'Janet' , $5000.00)
INSERT INTO Employees VALUES(4 , 1 , 'Margaret', $5000.00)
INSERT INTO Employees VALUES(5 , 2 , 'Steven' , $2500.00)
INSERT INTO Employees VALUES(6 , 2 , 'Michael' , $2500.00)
INSERT INTO Employees VALUES(7 , 3 , 'Robert' , $2500.00)
INSERT INTO Employees VALUES(8 , 3 , 'Laura' , $2500.00)
INSERT INTO Employees VALUES(9 , 3 , 'Ann' , $2500.00)
INSERT INTO Employees VALUES(10, 4 , 'Ina' , $2500.00)
INSERT INTO Employees VALUES(11, 7 , 'David' , $2000.00)
INSERT INTO Employees VALUES(12, 7 , 'Ron' , $2000.00)
INSERT INTO Employees VALUES(13, 7 , 'Dan' , $2000.00)
INSERT INTO Employees VALUES(14, 11 , 'James' , $1500.00)

關鍵詞:

copyright © 萬盛學電腦網 all rights reserved