我有一個同步到LDAP/eDirectory的Web應用程序,它的數據存儲在SQL Server 2008企業數據庫中。SQL Server 2008:從數據庫,追加文本和更新列中選擇兩個字段與結果
我們的組織剛剛遷移到MS/AD,並通過此遷移發佈了新的用戶帳戶命名約定,當然這改變了每個人的電子郵件地址。
Web應用程序使用的EMAIL
字段中CLIENT
表數據庫中作爲主/必填字段的,所以,如果我可以修改現有CLIENT.EMAIL
記錄以反映新的電子郵件地址格式,並同步到AD,所有的剩餘的帳戶信息將被更新而不會丟失任何帳戶,並且沒有這些帳戶在Web應用程序中失去對其歷史的訪問權限(我已通過修改單個EMAIL
記錄並同步到AD進行了測試,然後該帳戶可以使用AD憑證登錄,並且查看使用LDAP/eDir用戶帳戶創建的所有帳戶歷史記錄)。
我可以手動做到這一點(更新1,255條記錄),但我認爲一個SQL查詢將是一個更好的解決方案。
我迄今所做的就是寫以下SELECT
聲明(這爲我提供了我想要插入到生產數據庫的EMAIL列的結果):
SELECT FIRST_NAME + '.' + LAST_NAME + '@email.com' FROM db_name.TABLE_NAME
我需要什麼,能夠用UPDATE
EMAIL
字段/列(它當前有一個[email protected]
格式)與SELECT
語句的結果進行比較。
如果我在該語句上面添加一條:UPDATE CLIENT.EMAIL
行,我會在上面顯示的SELECT部分中出現語法錯誤。
我想:「」
- 利用現有
EMAIL
場(這表明[email protected]
客戶端約翰·史密斯), - 然後
SELECT
由分開的姓氏和名字字段並追加@email.com
來讓我結束了[email protected]
對於相同的記錄結束(和更新與基於[email protected]格式的相應條目中的整個電子郵件字段/列。
是這個可能嗎?如果是這樣,我如何解決我一直得到的語法錯誤?任何援助都將非常感激。
如果您發佈代碼,XML或數據樣本,**請**在文本編輯器中突出顯示這些行,然後單擊編輯器工具欄上的「代碼樣本」按鈕(「{}」)以精確地格式化和語法突出顯示它! –
我猜你很幸運沒有兩個人在你的組織中共用同一個名字? –