假设我有一个表X,并且X有字段X1,X2并且X3。
我想要一个解决方案,每当我插入 和 的值时X1,X2都会X3通过触发器自动设置为 X1 和 X2 的总和。
这是在 mysql 中非常简单的事情,但是在 google 上一段时间后,我找不到 postgres 的一个很好的例子,只有一些关于 For every row 触发器的信息,但同样没有例子。
我在PostgreSQL 文档中找不到是否有办法运行:ALTER TABLE tablename RENAME COLUMN IF EXISTS colname TO newcolname;语句。
我很高兴我们可以,因为我面临的错误取决于谁制作并给了我一个 SQL 脚本,在某些情况下一切都很好(当列的名称错误时,名称实际上会被更改)使用RENAME语句),而在其他情况下则不会(当列已经具有正确的名称时)。
因此,在尝试重命名IF EXISTS列名时使用对列名的语句的想法。如果列已经有了正确的名称(此处cust_date_mean),则应正确跳过必须仅应用于错误名称的重命名命令,并且不会发出以下错误:
db_1 | [223] ERROR: column "cust_mean" does not exist
db_1 | [223] STATEMENT: ALTER TABLE tablename RENAME COLUMN cust_mean TO cust_date_mean;
db_1 | ERROR: column "cust_mean" does not exist
Run Code Online (Sandbox Code Playgroud)
(与此同时,我将与团队澄清事情,因此,如果这样的命令不存在,那也没什么大不了的,但我认为它会有所帮助)。