在Ubuntu上使用pgAdmin创建和使用触发器,可以按照以下步骤进行:
更新软件包列表:
sudo apt update
安装pgAdmin:
sudo apt install pgadmin4
启动pgAdmin:
打开浏览器,访问 http://localhost/pgadmin4 并使用默认凭据登录(通常是 postgres 用户,密码为空)。
假设你有一个名为 my_table 的表,并且你想在插入数据后自动更新另一个表 another_table。
首先,创建两个示例表:
CREATE TABLE my_table (
id SERIAL PRIMARY KEY,
name VARCHAR(100),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE another_table (
id SERIAL PRIMARY KEY,
my_table_id INT,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
创建一个PL/pgSQL函数,该函数将在 my_table 上插入数据后被调用:
CREATE OR REPLACE FUNCTION update_another_table()
RETURNS TRIGGER AS $$
BEGIN
INSERT INTO another_table (my_table_id)
VALUES (NEW.id);
RETURN NEW;
END;
$$ LANGUAGE plpgsql;
在 my_table 上创建触发器,使其在每次插入操作后调用上述函数:
CREATE TRIGGER trigger_after_insert_my_table
AFTER INSERT ON my_table
FOR EACH ROW
EXECUTE FUNCTION update_another_table();
现在,向 my_table 插入一些数据,并检查 another_table 是否自动更新:
INSERT INTO my_table (name) VALUES ('Alice');
INSERT INTO my_table (name) VALUES ('Bob');
查询 another_table:
SELECT * FROM another_table;
你应该会看到 another_table 中有两行数据,分别对应于插入到 my_table 中的两条记录。
通过以上步骤,你可以在Ubuntu上使用pgAdmin创建和使用触发器。