我試圖運行此腳本替代參數,但它不斷拋出語法errors.Is有什麼錯的syntax.Also什麼是調用這個function.I需要正確的方法一個輸出告訴我更新語句已成功執行。我嘗試「選擇函數名(schema_name.TABLE_NAME);」讓我補充一點,我是一個初學者,願意接受任何形式的反饋。如有必要也會提供更多細節。如何運行PostgreSQL中的多個更新語句
CREATE OR REPLACE FUNCTION function_name (TABLE_NAME IN character varying)
RETURNS text AS $SQLQuery$
DECLARE SQLQuery text;
BEGIN
SQLQuery =
' UPDATE '|| TABLE_NAME || ' SET column1=''0''
WHERE column1 is null;' ||
' UPDATE '|| TABLE_NAME || ' SET column2='value'
WHERE column2=''different value'';' ||
--multiple update statements later
Execute SQLQuery;
Return SQLQuery;
END;
$SQLQuery$
LANGUAGE plpgsql;
更新: 這是我得到的錯誤,當我調用測試功能
ERROR: missing FROM-clause entry for table "schema_name" LINE 2: select test_function(schema_name.TABLE_NAME); ^ ********** Error ********** ERROR: missing FROM-clause entry for table "schema_name" SQL state: 42P01
它讀取功能的表? 我還收到語法錯誤說 EXECUTE列不存在或該功能不存在 即使我只是宣佈它。
提供語法錯誤(即使它們對你沒有意義)將會有所幫助。 您提供的代碼是不完整的,這使得它很難甚至開始提出改進建議。 –
更新值後有額外的單引號。 – Mokadillion
成功執行是什麼意思?沒有錯誤?受影響的行> 0? –