我一直試圖讓我的代碼作業,但它沒有按預期運行,基本上@NAME 是用戶在嘗試創建新用戶時輸入的內容,@Tmpname 是沒有任何數字的名稱,因為有原始的帳戶(John Smith)和二級帳戶(John Smith 2、John Smith 3、John Smith 4 等)。
如果沒有原始用戶并且他們正在創建輔助帳戶,我希望 @Name 為NULL。該腳本僅在@Name 中有數字時才會觸發,因此此搜索不會影響正在創建的原始帳戶
意圖的例子,
用戶嘗試創建 'John Smith 2',沒有 'John Smith' 所以它為 NULLs @Name(并錯誤腳本)
目前,即使存在現有用戶,它也會使@Name 無效,我不想要這個,
當前用戶嘗試創建“John Smith 2”的示例,有一個“John Smith”,它將@Name 置為空并導致腳本出錯
SELECT @NAME = --If user is attempting to make a secondary account without an original account
CASE
WHEN @TmpName = name
THEN @Name
ELSE NULL
END
FROM t_employee
WHERE @NAME LIKE '%[0-9]%'
這是我第一次使用這個平臺,所以如果您需要更多資訊,請告訴我,錯誤肯定存在于這段代碼中,而不是我腳本中的其他地方,因為注釋掉它可以解決任何錯誤。
uj5u.com熱心網友回復:
如果我已經理解你想要做什么,這樣的事情應該可以作業:
If @Name Like '%[0-9]%' And Not Exists
(
SELECT 1
FROM t_employee
WHERE name = @TmpName
)
BEGIN
SET @Name = NULL;
END;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/368491.html
標籤:sql sql-server 数据库 查询语句
上一篇:選擇TABLOCKX然后MERGE與MERGEwithTABLOCKX
下一篇:將空nchar轉換為數值
