我運行一個簡單的更新查詢,是這樣的:Postgres的 - 適應症沒有行更新
UPDATE some_table SET columnA = 'value' WHERE columnB = 'other value'
中有一個Postgres的方式來提高錯誤或打印一些消息時,有沒有更新的行?
我運行一個簡單的更新查詢,是這樣的:Postgres的 - 適應症沒有行更新
UPDATE some_table SET columnA = 'value' WHERE columnB = 'other value'
中有一個Postgres的方式來提高錯誤或打印一些消息時,有沒有更新的行?
在數據庫中,只有在從存儲過程進行更新時纔有可能。在plpgsql中:
BEGIN
UPDATE some_table SET columnA = 'value' WHERE columnB = 'other value'
IF NOT FOUND THEN
raise exception 'Nothing updated';
END IF;
END
但是,該值不會被記錄,但該命令被取消。如果您只是想將其記錄下來,請改爲使用raise warning
,並將postgresql日誌記錄設置爲包含警告。
如果您使用API訪問PostgreSQL,通常會有一個函數返回更新值的數量。在Java中,例如有Statement類,與功能的executeUpdate():
public int executeUpdate(String sql) throws SQLException
執行給定的SQL語句, 這可能是一個INSERT,UPDATE或 DELETE語句,或者不返回任何內容的SQL語句 ,如SQL DDL語句。
參數: SQL - 一個SQL INSERT,UPDATE或DELETE語句,或者不返回任何
返回一個SQL 聲明:要麼爲INSERT,UPDATE或DELETE 語句,或0 SQL語句 表示不返回任何
拋出:的SQLException - 如果發生數據庫訪問錯誤或者給定的SQL語句產生 ResultSet對象