小编Chr*_*Why的帖子

在SELECT语句中使用参数化函数调用.SQL Server

我从前一个开发人员那里接过了一些代码,并遇到了这个调用多个SQL函数的SQL语句.如您所见,select语句中的函数调用将参数传递给函数.SQL语句如何知道用什么值替换变量?对于下面的示例,查询引擎如何知道在调用时将nDeptID替换为什么,fn_SelDeptName_DeptID(nDeptID)

nDeptID是表格中的一列Note.

选择声明:

SELECT nCustomerID AS [Customer ID], 
 nJobID AS [Job ID], 
 dbo.fn_SelDeptName_DeptID(nDeptID) AS Department, 
 nJobTaskID AS JobTaskID, 
 dbo.fn_SelDeptTaskDesc_OpenTask(nJobID, nJobTaskID) AS Task, 
 nStandardNoteID AS StandardNoteID, 
 dbo.fn_SelNoteTypeDesc(nNoteID) AS [Note Type], 
 dbo.fn_SelGPAStandardNote(nStandardNoteID) AS [Standard Note], 
 nEntryDate AS [Entry Date], 
 nUserName as [Added By], 
 nType AS Type, 
 nNote AS Note FROM Note 
 WHERE nJobID = 844261 
 ORDER BY nJobID, Task, [Entry Date]
Run Code Online (Sandbox Code Playgroud)

======================

Function fn_SelDeptName_DeptID:

ALTER FUNCTION [dbo].[fn_SelDeptName_DeptID] (@iDeptID int)
RETURNS varchar(25)

-- Used by DataCollection for Job Tracking …
Run Code Online (Sandbox Code Playgroud)

sql-server select sql-server-2005 function

3
推荐指数
1
解决办法
3万
查看次数

标签 统计

function ×1

select ×1

sql-server ×1

sql-server-2005 ×1