Điều này không thể xảy ra như được mô tả với sql động / Câu lệnh chuẩn bị. Nó sẽ tạo ra Error Code: 1336. Dynamic SQL is not allowed in stored function or trigger
khi cố gắng thậm chí CREATE TRIGGER
.
Về cách gần nhất bạn có thể tiếp cận với tự động hóa là sử dụng CREATE EVENT
. Sự kiện là các chương trình được lưu trữ theo lịch trình chạy theo lịch trình / Khoảng thời gian bạn chọn. Khoảng thời gian là:
Bạn có thể đặt một "cờ" để nói về một hàng, chẳng hạn như bảng mà bạn đang mô tả ở trên có trình kích hoạt Sau khi Chèn. Sau đó, sự kiện có thể thực hiện Tuyên bố chuẩn bị động và thực thi nó.
Xem câu trả lời của tôi tại đây trên Quản lý sự kiện .
Tôi phải nói rằng ngay cả khi chạy trong một sự kiện, những gì bạn đang đề xuất gần như là Luôn luôn dấu hiệu của một thiết kế giản đồ kém sẽ không dễ nhận được sự đánh giá của đồng nghiệp.
Một lý do tại sao sql động và Stmt đã chuẩn bị không được phép là vì trình kích hoạt cần phải nhanh và thậm chí DDL có thể được đưa vào chuỗi và được thực thi. Và các câu stm DDL như ALTER TABLE
không được phép trong trình kích hoạt (chúng có thể mất hàng giờ để chạy theo nghĩa đen).
Lược đồ của bạn cũng có thể có một bảng được chia sẻ với một cột ven_code
là cột phân biệt. Thay vào đó, bạn chọn tạo bảng mới cho mỗi ven_code
. Đó thường là lựa chọn thiết kế và hiệu suất kém.
Nếu bạn cần trợ giúp về thiết kế giản đồ, tôi rất vui được trò chuyện về nó với bạn trong phòng trò chuyện.