输入职位的编号得到它下属的职位

原创 2006年05月17日 16:25:00

创建一个表,包含三列--编号、职位名称、上级职位编号

CREATE TABLE [dbo].[Table1] (
 [ID] [smallint] IDENTITY (1, 1) NOT NULL ,
 [Name] [varchar] (40) , [SuperPosition] [smallint] NULL
)

创建存储过程

drop proc jayjay
go
create proc jayjay
 @pid int
as
DECLARE @ids VARCHAR(2000)
DECLARE @tmpids VARCHAR(2000)
DECLARE @oldids VARCHAR(2000)
DECLARE @sql nVARCHAR(2000)
set @ids=''
set @tmpids=''
set @oldids=''

SELECT @ids=@ids+CONVERT(VARCHAR,id)+','
FROM dbo.Table1
WHERE superPosition=@pid and superPosition<>ID

IF len(@ids)>0
 SET @ids=left(@ids,len(@ids)-1)

CREATE TABLE #Position(id int)
SET @oldids = @ids

while len(@oldids)>0
begin
 SET @sql=N'INSERT INTO #Position
   SELECT id
   FROM Table1
   WHERE superPosition in (' + @oldids +')'
 EXEC (@sql)
 SET @tmpids=''
 SELECT  @tmpids = @tmpids + CONVERT(VARCHAR,id) + ','
 FROM #Position
 IF LEN(@tmpids)>0
  SET @tmpids = LEFT(@tmpids,LEN(@tmpids)-1)
 SET @oldids = @tmpids
 DELETE FROM #Position
 SET @ids=@ids+','+@tmpids
end
IF LEN(@ids)>0
 BEGIN
  SET @ids = LEFT(@ids,LEN(@ids)-1)  
  SET @sql =N'SELECT ID,Name FROM Table1 WHERE ID in (' + @ids + ')'
  PRINT @sql
  EXEC(@sql)
 END
ELSE
 SELECT ID FROM CRM_PUB_Position WHERE 1=2

执行存储过程。
exec jayjay 8

下属职位编号和名称全部显示

相关文章推荐

骑士3.5职位采集

  • 2015年08月31日 18:35
  • 15KB
  • 下载

网管职位说明书

  • 2012年12月10日 18:17
  • 51KB
  • 下载

Python爬虫框架Scrapy实战教程---定向批量获取职位招聘信息

所谓网络爬虫,就是一个在网上到处或定向抓取数据的程序,当然,这种说法不够专业,更专业的描述就是,抓取特定网站网页的HTML数据。不过由于一个网站的网页很多,而我们又不可能事先知道所有网页的URL地址,...

全球ITIL职位及招聘现状分析

  • 2011年12月22日 14:35
  • 1.58MB
  • 下载

程序员职位晋升路径、岗位选择方向

软件从业人员分为初级程序员、中级程序员、高级程序员、系统分析员,系统架构师,测试工程师六大类。   第一:程序员职位晋升路径:一般来说,程序员的发展基本上都会经历这么几条路径。 1.程序员-系统分...

it人员不同职位不用要求

  • 2011年06月27日 14:51
  • 15KB
  • 下载

使用scrapy爬取拉勾网职位信息

今天使用scrapy实现了一个爬取拉勾网上的职位信息字段,并保存到数据库的爬虫,先看下效果: 导出json格式如下: 创建Spider之前在创建spider的时候,都是使用有genspider...

15 职位表(参照单位).xls

  • 2011年03月26日 12:27
  • 92KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:输入职位的编号得到它下属的职位
举报原因:
原因补充:

(最多只允许输入30个字)