我有一個SQL表稱爲RawData
有以下六列(所有類型VARCHAR
):修改SQL表中插入從現有的行數據到上一行
Name
StreetAddress
State
Phone
Website
Email
我定期從CSV文件導入新數據到該表中,並且99%的數據格式正確。對於1%的數據,由於我理解但對於此問題並不重要的原因,導入的數據使得所有前五列(Name
,StreetAddress
,State
,Phone
,Website
)具有格式正確的數據,但是第六列Email
爲空。此外,電子郵件被導入到它自己的行中,緊挨着這個「問題」行下面,但是電子郵件被放置在Name
列中。這些情況很容易識別開始電子郵件地址始終插入Name
列與mailto:
前綴。
我想要做的是設計一個查詢,從Name
取下錯誤放置的電子郵件地址,去掉mailto:
前綴,然後將其放入上一行的Email
列。然後,我想在'Name'列中刪除包含'mailto:'電子郵件的行。
我已經做了一些研究,並且相信我需要使用遊標從正確行下方的行復制數據並將其插入到Email
列中,但從未使用過遊標,我正在努力拿出任何東西。任何幫助,將不勝感激。
編輯:爲了簡潔起見,我省略了該表包含標識列ID
。
你最好嘗試固定CSV導入問題,而不是嘗試修復它在DB端。 – Rahul 2014-10-01 21:54:22
我無法解決這個問題,因爲我從我無法控制的來源接收CSV。 – zgall1 2014-10-02 03:11:07