我正在做一些實驗,使用INSERT INTO將值從一個表移動到另一個表,我不太確定如何檢查舊錶中的值(並添加一個字符串),然後將其移至新表格。SQL - 使用INSERT INTO移動表數據 - 移動前檢查值
這裏是我的表定義
Old_network
user_id | network_id | network_url
2 3 /whatever/something.html
新的網絡(理想結果)
user_id | network_id | network_url
2 3 www.sitename3.com/whatever/something.html
網絡
network_id | network_prefix
1 www.sitename1.com
2 www.sitename2.com
3 www.sitename3.com
因此,這裏發生的事情是,我正在使用network_id的查找表,並將network_prefix添加到[network_url]。如果old_network.network_url不包含前綴,我需要將它添加到new_network.network_url的開頭。移動原始數據是很容易的部分,但我堅持如何驗證並在必要時添加字符串。這裏的邏輯的輪廓:
INSERT INTO dbo.new_network (user_id,network_id,network_url)
SELECT user_id,network_id,network_url FROM old_network
if old_network.network_id = 1 and network_url like 'www.sitename1.com%'
move it
else
set network_url = 'www.sitename1.com' + network_url
等在dbo.network其他網絡
打字這一點,並看着它給了我一點點的見解,但我需要聲明一個臨時表?使用參數?任何想法都表示讚賞。 使用mssql 2008
爲什麼在插入數據之前不要修改數據? –