我在SQL Server中有一個UPDATE語句,它運行幾個UDF來封裝必要的業務邏輯。因此,用戶可以選擇加入或選擇退出與我們公司的通信,並且我們擁有許多與我們發送人員通信相對應的許可代碼。我們不僅擁有權限字段,而且還有一個不提升字段。如果有人選擇退出權限,那麼我們希望將其及其關聯的權限移至DNP字段。UDF字段參考在SQL Server UPDATE語句
因此,可以說,用戶有以下字段值
PermissionCodes DoNotPromoteCode
A|B|C|D| Z|
現在用戶選擇出的,但是當他選擇出來的,然後我們公司希望選擇他出去碼C和G,以及並將這些值添加到DoNotPromote字段中,但只有將它們添加到DNP(如果它們位於權限字段中)。即
PermissionCodes DoNotPromoteCode
B|D| Z|A|C|
所以我有這個疑問:
UPDATE Permissions
SET PermissionCodes = dbo.RemovePermissions('A'),
DoNotPromoteCodes = dbo.AddDoNotPromote('A', PermissionCodes)
WHERE Email = '[email protected]'
的UDF「dbo.RemovePermissions」將刪除您通過在權限和相關的所有其他權限。 UDF「dbo.AddDoNotPromote」將權限添加到DoNotPromote字段,然後在PermissionCodes中搜索該代碼的親屬,並將它們添加到DoNotPromote字段中。因此,我的問題是,因爲我在更新PermissionCodes字段的同時,在dbo.AddDoNotPromte UDF中引用它,所以在更新語句期間,在dbo.AddDoNotPromote UDF中讀取PermissionCodes字段?到目前爲止,我得到了我期待的結果,但是它總是保證dbo.AddDoNotPromote將在dbo.RemovePermissions刪除這些值之前讀取PermissionCodes字段中的值?