6 月
23
23
T-SQL使用者函數(function)裡不能使用NEWID(副作用運算子)的解決方式
在使用者函數裡有用到NEWID、RAND等副作用運算子,會出現下面的錯誤:
【在函數中使用副作用運算子 ‘newid’ 無效。】
這時,可以NEWID等副作用運算子先存成一個VIEW,函數(function)再去使用VIEW就可以避開錯誤。
步驟一:
CREATE VIEW [dbo].[NEWID_v]
AS
SELECT NEWID() AS NEW_ID
步驟二:
select ROW_NUMBER() OVER (ORDER BY (select NEW_ID from NEWID_v ) ) AS RowNumber ,
Column1 , Column2 , Column3
from dbo.MyTable
WHERE Column1 = @str1 and Column1 = @str2
There are no comments.