2012-05-16 75 views
1

對於我的作業,我被要求編寫一條SQL語句來執行以下操作。SQL查詢在同一查詢中創建和更新列表

registration表,它是(module_name char (15))添加新的列,並更新對應於每個module_id200此列。 module namedigital diary,爲201year planner,爲202b’day remainder

我可以做到這一點使用兩個或更多的語句,但有什麼辦法這可以在一個單獨的SQL語句來完成?

+0

如果是緊急檢查[CASE](http://dev.mysql.com/doc/refman/5.0/en/case-statement.html)語法。 –

+0

您將不得不用新列更改註冊表,並且在alter語句之後,您可以爲各自的'module_id'編寫三個更新語句最佳簡單的解決方案。 – Murtaza

+0

@NikolaMarkovinović我認爲CASE可以在這裏幫助,但我不知道如何使用這個,請給我一個小例子嗎? – user1373168

回答

0

你不能這樣做,在一個批次中,可以使用EXEC命令來運行SQL語句,這樣你可以在兩個不同批次和單查詢:

EXEC('statement1') 

EXEC('statement2') 
-1

使用存儲過程,並在那裏寫任何你需要的語句。

+0

這不會工作(除非你的意思是存儲過程)。存儲過程不會編譯,因爲過程將有一個語句來更新列'module_name',但是在編譯時該列不存在,並且存儲過程不能包含多個批處理。 – GarethD