plpython3u触发器比较新记录中的两个值,如果它们相同,则执行某些操作

时间:2018-09-24 10:35:30

标签: python postgresql triggers plpython

我有一个plpython3u触发器,它可以将文件夹结构复制到postgresql表中新插入记录上的新位置。很好 现在,我想用if语句通过比较两个记录来更新触发器... 因此,基本上,触发器会检查两个记录是否彼此相等(时间戳)。如果不是,则打印确定,如果是,则将文件夹结构复制到一个位置。 这是我的代码:

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专家,所以我不确定语法是否正确。谁能想到,该触发器应如何运行?

0 个答案:

没有答案