我创建的函数和触发器如下:
CREATE OR REPLACE FUNCTION New_Ticket()
RETURNS TRIGGER AS
$$BEGIN
SELECT * FROM Ticket WHERE productID=(SELECT MAX(ticketID) FROM Ticket);
RETURN NEW;
END$$
LANGUAGE PLPGSQL;
CREATE TRIGGER New_TicketTr
AFTER INSERT ON Ticket
FOR EACH ROW execute procedure New_Ticket();
插入后如下:
INSERT INTO Ticket (ticketID, Problem, Status, Priority,LoggedTime,CustomerID,ProductID) VALUES
(1, 'Cannot play games.', 'open', 1,'2005-05-13 07:15:31.123456789',1,1);
我收到错误消息:错误:查询没有结果数据的目的地 提示:如果您想丢弃 SELECT 的结果,请改用 PERFORM。 上下文:PL/pgSQL 函数“new_ticket”在 SQL 语句的第 2 行。 谁能帮我?那里有什么问题?
最佳答案
我认为问题在于您没有对该查询执行任何操作。既不是 DML,也不是将结果返回到变量或记录中。
关于sql - 错误 : query has no destination for result data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9889149/