PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Cách chuyển NEW. * Để THỰC HIỆN trong chức năng kích hoạt

Tốt nhất với USING mệnh đề của EXECUTE :

CREATE FUNCTION foo ()
  RETURNS trigger AS
$func$
BEGIN
  IF TG_OP = 'INSERT' THEN
     EXECUTE format('INSERT INTO %s SELECT $1.*'
                  , 'samples_' || left(NEW.md5, 2);
     USING NEW;
  END IF;
  RETURN NULL;
END
$func$ LANGUAGE plpgsql;

EXECUTE không yêu cầu dấu ngoặc đơn.
Và bạn lưu ý rằng số nhận dạng được xếp thành chữ thường trừ khi được trích dẫn khi cần thiết (%I thay vì %s ở định dạng format() ).

Thêm chi tiết:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tạo bảng cho các giá trị Đa giác trong Postgis và chèn

  2. Postgres không thể kết nối với máy chủ

  3. Cách bật chế độ yên tĩnh cho các lệnh Postgres trên Heroku

  4. Quản lý các vai trò và thuộc tính vai trò trong PostgreSQL

  5. Cách tạo SUM mà không cần nhóm theo