sql - 错误 : query has no destination for result data

标签 sql postgresql triggers

我创建的函数和触发器如下:

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/

相关文章:

python - Postgresql 触发器检查哪些列的值发生了变化?

mysql - 用另一列查询的组合列的唯一约束

sql - 自动计算非标准自增

hibernate - 使用 PostgreSQL 触发器和 hibernate 时出现意外的行计数

php - SQL 查询没有被执行

sql - 在 Sql Server Azure 中的用户之间共享表行

python - 如何重现由 sqlalchemy session 缓存引起的错误

sql - 在一个 select 语句中使用 group by、order by 和 limit

sql - mysql语法解释

ios - 如何从 ViewController 触发嵌入式容器 ViewController 上的操作以及如何反向执行?