У меня есть триггер plpython3u, который может копировать структуру папок в новое место в новой записи вставки в таблице postgresql.Это отлично работает.Теперь я хотел бы обновить триггер оператором if, сравнивая две записи ... Так что в основном триггер проверяет, равны ли две записи (timestamtz) друг другу.Если нет, выведите ok, если да, скопируйте структуру папок на место.Вот мой код:
CREATE or replace FUNCTION "public"."_copy_folderstructure"()
RETURNS "pg_catalog"."trigger" AS $BODY$
import shutil
import os
try:
if (TD["new"]["created_at"] != TD["new"]["updated_at"]): print("ok")
elif (TD["new"]["created_at"] = TD["new"]["updated_at"]): shutil.copytree("d:/Data/Shared/_templates/folderstructure","d:/Data/Shared/" + TD["new"]["ff3ec"] + "_" + TD["new"]["fcee9"])
except:
print("fail")
$BODY$
LANGUAGE 'plpython3u' VOLATILE COST 100
;
К сожалению, я не могу сгенерировать триггер, потому что он генерирует ошибку TabError: inconsistent use of tabs and spaces in indentation (<string>, line 7)
Неважно, нажимаю ли я ввод или нет, или вместо пробела использую ввод.Я не эксперт по Python, поэтому я не уверен, что синтаксис в любом случае хорош.Может кто-нибудь иметь представление, как этот триггер должен работать?