开发者

T-SQL How to run a procedure/function within a SELECT query?

I can't check it right now (don't have a compiler right now), but will that query executes ?

select myTable.id_customer, [my_procedure_or_function](myTable.id_customer)

from myTable

group by myTable.id_customer

that procedure/function returns a NUMERIC(18,0) or NULL

to sum up, I need to select distinct id_customer from that table and for that id - get a number/null value currently associated with开发者_C百科 that id_customer


Syntactically it will work for a scalar UDF but not a stored procedure.

select myTable.id_customer, mySchema.myFunction(myTable.id_customer) As myAlias
from myTable
group by myTable.id_customer

However dependant upon what the scalar UDF is doing there may be more performant approaches. If it is looking up a value in another table for example it is often best to simply inline this logic into the query.


As Martin Smith says, providing it is a scalar user-defined function (UDF) which excepts a single argument of the same type as "myTable.id_customer", not a tabular or stored procedure, and the executing connection has execute rights to the UDF, then it should work fine.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜