psql:tests.sql:48: 错误: 作为一个表达式使用的子查询返回了多列
背景: SQL 语句 “SELECT (SELECT student FROM WaitingList WHERE course=OLD.course) IS NULL”
在IF的第23行的PL/pgSQL函数delete_function()
先写结论:
当想用IF 语句判断是否符合条件的情况时,要注意 IF () NOT NULL 这个很特殊。
如果只是想判断,是不是有满足条件的列表,
要将IF () NOT NULL 改为 IF (EXIST())判断
因为 SELECT 后如果判断条件是好几个信息,则IF () NOT NULL 会报错
数据库运行后返回这个错误,不是很清楚这个错误是什么意思。
这个是我的数据库程序
我主要是想判断选课系统中的等待列表中是否有人存在,
想用IF ()NOT NULL 判断。
如果选课列表中有人,则满足条件,执行后边的语句。
所以这个语句在判断是否有人在等待列表中。
(Registered表 人数满了以后,会有waiting li