Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 插入新行时列中的默认值_Sql_Postgresql - Fatal编程技术网

Sql 插入新行时列中的默认值

Sql 插入新行时列中的默认值,sql,postgresql,Sql,Postgresql,我有表格照片和列:姓名,作者,日期,更新日期 我想在插入新记录或更新记录时将更新日期设置为默认的当前_日期 我应该如何进行此操作?欢迎使用SO。看一看 基本上,您只需要创建一个函数来执行更新的 CREATE OR REPLACE FUNCTION update_date() RETURNS trigger AS $BODY$ BEGIN NEW.updated = current_date; RETURN NEW; END; $BODY$ LANGUAGE 'plpgsql'; 。。在

我有表格照片和列:姓名,作者,日期,更新日期

我想在插入新记录或更新记录时将更新日期设置为默认的当前_日期


我应该如何进行此操作?

欢迎使用SO。看一看

基本上,您只需要创建一个函数来执行更新的

CREATE OR REPLACE FUNCTION update_date() RETURNS trigger AS
$BODY$
BEGIN
  NEW.updated = current_date;
  RETURN NEW;
END;
$BODY$ LANGUAGE 'plpgsql';
。。在像这样插入或更新触发器之前,将其附加到

CREATE TRIGGER check_update
BEFORE INSERT OR UPDATE ON photographies
FOR EACH ROW EXECUTE PROCEDURE update_date();
插入记录后

INSERT INTO photographies (name, author, date) 
VALUES ('José Saramago ','As Intermitências da Morte','2005-01-01');
。。您已使用当前日期更新了列

SELECT * FROM photographies ;
      name      |           author           |    date    |  updated   
----------------+----------------------------+------------+------------
 José Saramago  | As Intermitências da Morte | 2005-01-01 | 2019-12-06
(1 Zeile)
看看