對於我的作業,我被要求編寫一條SQL語句來執行以下操作。SQL查詢在同一查詢中創建和更新列表
在registration
表,它是(module_name char (15)
)添加新的列,並更新對應於每個module_id
爲200
此列。 module name
是digital diary
,爲201
是year planner
,爲202
是b’day remainder
我可以做到這一點使用兩個或更多的語句,但有什麼辦法這可以在一個單獨的SQL語句來完成?
對於我的作業,我被要求編寫一條SQL語句來執行以下操作。SQL查詢在同一查詢中創建和更新列表
在registration
表,它是(module_name char (15)
)添加新的列,並更新對應於每個module_id
爲200
此列。 module name
是digital diary
,爲201
是year planner
,爲202
是b’day remainder
我可以做到這一點使用兩個或更多的語句,但有什麼辦法這可以在一個單獨的SQL語句來完成?
你不能這樣做,在一個批次中,可以使用EXEC
命令來運行SQL語句,這樣你可以在兩個不同批次和單查詢:
EXEC('statement1')
EXEC('statement2')
使用存儲過程,並在那裏寫任何你需要的語句。
這不會工作(除非你的意思是存儲過程)。存儲過程不會編譯,因爲過程將有一個語句來更新列'module_name',但是在編譯時該列不存在,並且存儲過程不能包含多個批處理。 – GarethD
如果是緊急檢查[CASE](http://dev.mysql.com/doc/refman/5.0/en/case-statement.html)語法。 –
您將不得不用新列更改註冊表,並且在alter語句之後,您可以爲各自的'module_id'編寫三個更新語句最佳簡單的解決方案。 – Murtaza
@NikolaMarkovinović我認爲CASE可以在這裏幫助,但我不知道如何使用這個,請給我一個小例子嗎? – user1373168