SQL自定义函数是SQL函数中用途最广的函数之一,下面就将为您介绍如何调用SQL自定义函数,供您参考,希望对您有所启迪。

    --根据组织,岗位和档案ID返回该用户可见的日报列表 ALTERprocdbo.GetDailyList@orgidint,@postidint,@ArchivesIDint as declare@atable(orgidint) insert@aselectorgidfromorganizewhereorgid=@orgid while@@rowcount>0--中间有一递归,有点难懂啊 insert@aselecta.orgidfromorganizeasainnerjoin@aasb ona.fatherorgid=b.orgidanda.orgidnotin(selectorgidfrom@a) declare@btable(postidint) insert@bselectpostidfrompostwherepostid=@postid while@@rowcount>0 insert@bselecta.postidfrompostasainnerjoin@basb ona.fatherpostid=b.postidanda.postidnotin(selectpostidfrom@b) --declare@ArchivesIDnvarchar(20) --select@ArchivesIDArchivesID=ArchivesIDfromUserswhereUserID=@userid --print@ArchivesID SELECTa.DailyID,a.TaskTitle,a.AuthorID,b.NameasAuthorName,a.DispathchManID, dbo.GetArchivesNameStr(a.DispathchManID,',')ASDispatchManName, a.AddDate,a.hit,dbo.GetCommentCount(a.DailyID)AScommentcount, 'StateStr'=case whena.StateID=1then'未执行' whena.StateID=2then'执行中' whena.StateID=3then'执行完成' end, 'ImportTypeName'=case whena.ImportTypeID=1then'普通' whena.ImportTypeID=2then'紧急' whena.ImportTypeID=3then'非常紧急' end,dbo.GetArchivesNameStr(FinishManID,',')asFinishManName, dbo.GetArchivesNameStr(FactDispatchManID,',')asFactDispatchManName FROMDailyListaLEFTJOINArchivesbona.AuthorID=b.ArchivesID WHERE(a.DailyType=1)AND b.orgidIN(selectorgidfrom@a)and ','+a.DispathchManIDlike'%,'+convert(nvarchar,@ArchivesID)+',%'

【编辑推荐】

SQL自定义函数实例

初级sql select语法

sql server死锁的检测方法

SQL SERVER字段类型的说明

SQL Server安全解析