SQL触发器-更新/插入

亚历克斯

我苦苦挣扎的一件事是在SQL中定义触发器。我需要为给定的表实现一个代码,例如:-对于表中插入的任何新行,触发器都将被激活,并且表将当前日期存储在属性日期上。我下面包含的代码存在的问题是更新表中的所有行,并且只希望使用当前日期更新插入的表。

CREATE FUNCTION func()
RETURNS trigger AS $$
DECLARE
value DATE;
BEGIN
SELECT CURRENT_DATE INTO fecha;
UPDATE tabla SET date = value;
RETURN NULL;
END;
$$LANGUAGE plpgsql;

CREATE TRIGGER date
AFTER INSERT ON table
FOR EACH ROW EXECUTE PROCEDURE func();

对于表的任何行上的任何更新,将激活触发器,然后再次将当前日期存储在属性日期上。

CREATE FUNCTION func2()
RETURNS trigger AS $$
DECLARE
value DATE;
BEGIN
SELECT CURRENT_DATE INTO value;
SET NEW.date=value;
RETURN NULL;
END;
$$LANGUAGE plpgsql;

CREATE TRIGGER date
AFTER UPDATE ON table 
FOR EACH ROW
EXECUTE PROCEDURE func2();
贝吉

使用BEFORE触发器来操纵要插入/更新的行:

CREATE FUNCTION func()
RETURNS trigger AS $$
BEGIN
  NEW.date = CURRENT_DATE ;
  RETURN NEW;
END;
$$ LANGUAGE plpgsql;

CREATE TRIGGER date
BEFORE INSERT OR UPDATE ON table
FOR EACH ROW EXECUTE PROCEDURE func();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL AFTER插入更新触发器

来自分类Dev

在SQL Server中插入/删除/更新触发器

来自分类Dev

使用代替SQL触发器来插入或更新视图

来自分类Dev

SQL AFTER插入触发器以进行更新

来自分类Dev

SQL-更新,插入还是代替触发器?

来自分类Dev

插入更新和删除后的 SQL Server 触发器

来自分类Dev

SQL Server 触发器插入/更新特定列

来自分类Dev

插入触发器之前的SQL

来自分类Dev

在SQL Server中插入触发器

来自分类Dev

PL/SQL 触发器防止插入

来自分类Dev

插入前的 SQL Server 触发器

来自分类Dev

SQL 选择插入触发器

来自分类Dev

如何编写插入,更新触发器

来自分类Dev

多表触发器更新/删除/插入

来自分类Dev

在触发器上更新插入的记录

来自分类Dev

SQL Server触发器,递归更新

来自分类Dev

更新SQL中的触发器

来自分类Dev

sql更新触发器未执行

来自分类Dev

用于更新表的SQL触发器

来自分类Dev

插入和更新后未触发SQL Server触发器

来自分类Dev

更新/插入触发器触发SQL Server中的相同表

来自分类Dev

插入和更新后未触发SQL Server触发器

来自分类Dev

SQL插入触发器之前-插入另一个表并更新外键

来自分类Dev

从插入触发器进行更新时,更新触发器未触发

来自分类Dev

PL/SQL 触发器在更新或插入后更新同一个表

来自分类Dev

SQL Server 插入触发器多次插入

来自分类Dev

如何在SQL Server触发器中识别操作类型(插入,更新,删除)

来自分类Dev

更新触发器,为插入的数据SQL Server设置值

来自分类Dev

SQL Server 2005-编写用于验证的插入和更新触发器