2010-05-25 57 views

回答

2

如果您尝试使用一个函数内部的更新,你会得到:

Server: Msg 443, Level nn, State 1, Procedure function_Name, Line nn 
Invalid use of 'UPDATE' within a function. 

为了避免这种错误的发生,请确保您不使用UPDATE语句用户定义的函数内除非它更新本地表变量。如果您确实需要在表上使用UPDATE语句,则必须使用存储过程而不是用户定义的函数来达到此目的。

Create Function

0

不,你不能在基表使用任何DML语句(INSERT,UPDATE和DELETE)。 UDF的另一个问题是不允许从UDF内部调用返回非确定性值的SQL函数。虽然UDF具有各自的优点,但它们可以用在Select,Where或Case语句中。可以用于连接。