今天做了道访问数据库的题,真的懵了,从表,视图,存储过程到表值函数都用到了,我有些看不下去了,真的感觉没信心了,如果这样学下去,什么时候才能学好啊。真的很头疼的。 一时间,自己没有信心了,没有勇气来面对,这个该死的查询。 我真的不想逃避,可是,这问题也太纠了吧。 不管怎么说,这条路是我的选择,我得为自己负责。我不是为谁,我是为自己。我不是怕挑战,我是抓不住思维的锁链。我不是怕吃苦,我是吃苦了出不来效果。 一个时间就做一件事情,我这次再拼一次,杀它个片甲不留,冲冲…… ALTER FUNCTION [dbo].[f_DeptSubTree](@deptid int) RETURNS TABLE AS RETURN( WITH stb([deptid],[level],[sid],[fullname],[treename]) AS( SELECT [deptid],0,CAST(RIGHT(10000+[deptid],4) as varchar(8000)), cast([deptname] as nvarchar(4000)), cast([deptname] as nvarchar(4000)) FROM [department] WHERE [deptid]=@deptid UNION ALL SELECT A.[deptid],B.[level]+1,B.sid+RIGHT(10000+A.[deptid],4), B.fullname + N'->' + A.deptname, REPLICATE(' ', b.[level]) + N'|- ' + a.deptname FROM [department] A,stb B WHERE A.[parentid]=B.[deptid]) SELECT * FROM stb 记住你了,这个难缠的表值函数。