我創建了一個更新過程,如果另一個表中的匹配記錄發生更改,它將更改表中記錄的值,但是,我如何得到它的設置是,即使有像12個領域,可以更新,程序將更新每一個即使只有1個字段已更改我如何創建一個SQL IF語句來檢查字段是否需要更新
這是因爲效率低下,它只需要約50秒1分的記錄,沒有好,如果有一個像幾百,我想出了這個很容易做到
if olddata != newdata
UPDATE!!!
endif
事情psudocode是,我有小到n o在SQL中使用if語句的經驗,如果我可以使用PHP,那麼只需像上面的if語句那樣運行帶有WHERE子句的SELECT,然後檢查它返回的行數(如果是0則沒有變化),但該過程必須是公正的SQL,我可以拿出最好的是這個
IF(SELECT o.field FROM originaltbale AS o INNER JOIN updatetable AS u ON o.primarykey = u.primarykey WHERE o.field <> u.field) != 0
UPDATE!!!
ENDIF
但我懷疑這會工作,因爲我敢肯定,SELECT不會返回的行數,怎麼能我創建了一個if語句,可以像這樣工作
**什麼是**數據庫系統,以及哪個版本? * SQL *只是*結構化查詢語言* - 許多數據庫系統使用的語言,但不是數據庫產品......功能通常是特定於供應商的 - 所以我們真的需要知道什麼**數據庫系統**您是「重新使用.... –
我的工作是使MySQL數據庫與Microsoft SQL Server同步,如您所說,不同的數據庫產品具有不同的功能,我聲明SQL而不是MySQL或Transact-SQL,這樣我得到的答案不是關於任何特定的產品,但通常SQL,這也意味着我的腳本應該如何工作,因爲我的設計將會更加強大,因爲它是獨立於平臺的 –
您可以隨時添加兩個標籤 - 一個用於'MySQL',另一個用於' SQL Server' ... –