SQL递归查询部门
create function [dbo].[DeptTree](@initDeptCode varchar(10))/*定义函数c_tree,输入参数为初始节点DeptCode*/
returns @t table(DeptCode varchar(10),UpDeptCode varchar(10),lev int)/*定义表t用来存放取出的数据*/
begin
declare @i int/*标志递归级别*/
set @i=1
insert @t select DeptCode,UpDeptCode,@i from vi_dept where DeptCode=@initDeptCode
while @@rowcount<>0
begin
set @i=@i+1
insert @t select a.DeptCode,a.UpDeptCode,@i from vi_dept as a,@t as b
where b.DeptCode=a.UpDeptCode and b.lev=@i-1
end
return
end
select * from dbo.DeptTree('0000')
相关文档:
有些常见的问题在论坛中不断出现,不妨整理一下。
以下语句是在SQLServer2005上实现的,一些语句无法在SS2000上执行。
有用指数是我根据这个问题的常见程度打的分,仅供参考。实际上,当你遇到了这个问题,这个问题哪怕再少见,解决方案也是非常有用的。
1. 生成若干行记录
有用指数:★★★★★
常见的问题类型:根 ......
--创建表TongXunLu
CREATE TABLE TongXunLu
(
[tName] nvarchar(30),
[tAddress] nvarchar(50),
[tEmail] varchar(50)
)
--创建表 students
CREATE TABLE students
(
[sId] int IDENTITY (1, 1) primary key NOT NULL ,
[sName] varchar (50) NOT ......
聚合函数若要汇总一定范围的数值,请使用以下函数:
SUM
返回表达式中所有值的总和。
语法
SUM(aggregate)
SUM 只能与包含数值的字段一起使用。将忽略空值。
AVERAGE
返回表达式中所有非空值的平均值(算术平均值)。
语法
AVERAGE(aggregate)
AVERAGE 只能与包含数值的字段一起使用。将忽略空值。
......
有关分页 SQL 的资料很多,有的使用存储过程,有的使用游标。本人不喜欢使用游标,我觉得它耗资、效率低;使用存储过程是个不错的选择,因为存储过程是经过预编译的,执行效率高,也更灵活。先看看单条 SQL 语句的分页 SQL 吧。
方法1:
适用于 SQL Server 2000/2005
SELECT TOP 页大小 *
from tab ......
1、开始->程序-->Microsoft SQL Server 2005>配置工具->SQL Server Configuration Manager->SQL Server 2005 网络配置 ->“xxx(您的数据库)”的协议,如下图
将“Named Pipes”和“TCP/IP”的状态调成“启用”,方法是在“Named Pipes”和“T ......