我需要一個sql語句,在一個數據庫表中插入一個新行,並根據一些條件更新另一個數據庫表中的現有行。需要一個sql語句來做upate並同時插入
有沒有辦法做到這一點?在一個表中插入一行並在一個sql語句中更新另一個數據庫表中的行?
在此先感謝!
我需要一個sql語句,在一個數據庫表中插入一個新行,並根據一些條件更新另一個數據庫表中的現有行。需要一個sql語句來做upate並同時插入
有沒有辦法做到這一點?在一個表中插入一行並在一個sql語句中更新另一個數據庫表中的行?
在此先感謝!
是的,他們被稱爲Transactions,並實現與START TRANSACTION and COMMIT/ROLLBACK
的東西,如:
START TRANSACTION;
INSERT INTO ...
UPDATE table2 SET name='TOTO' WHERE type=1;
COMMIT;
編輯
這其實也不是一個 SQL查詢,但操作完成原子 - 我認爲這是你需要的。
您可以使用Trigger
上第一臺插入
一個SQL語句,可以更新一個表更新第二個表,沒有幾個;如果該語句是MERGE
,那麼您可以指定插入/更新/刪除操作,但仍然只針對同一個目標表。
如果您只是想要一致性,請使用事務;直到一個交易被提交,它內部的改變對外界來說是不可見的。
如果您希望單個更新(無法控制)導致協調插入,請在正在更新的表中使用on update
觸發器。觸發器會將適當的行插入到其他表中。
是的,存儲過程是可能的。
你使用什麼數據庫系統? –