sql - 错误(2,7): PLS-00428: an INTO clause is expected in this SELECT statement

标签 sql oracle triggers ora-00933 pls-00428

我正在尝试创建此触发器并收到以下编译器错误:

create or replace
TRIGGER RESTAR_PLAZAS
AFTER INSERT ON PLAN_VUELO
BEGIN
SELECT F.NRO_VUELO, M.CAPACIDAD, M.CAPACIDAD - COALESCE((
SELECT count(*) FROM PLAN_VUELO P
WHERE P.NRO_VUELO = F.NRO_VUELO
       ), 0) as PLAZAS_DISPONIBLES
FROM VUELO F
      INNER JOIN MODELO M ON M.ID = F.CODIGO_AVION; 
END RESTAR_PLAZAS;


Error(2,7): PL/SQL: SQL Statement ignored
Error(8,5): PL/SQL: ORA-00933: SQL command not properly ended
Error(8,27): PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following:     begin case declare end exception exit for goto if loop mod    null pragma raise return select update while with    <an identifier> <a double-quoted delimited-identifier>    <a bind variable> << close current delete fetch lock insert    open rollback savepoint set sql execute commit forall merge    pipe 
Error(2,1): PLS-00428: an INTO clause is expected in this SELECT statement

这个触发器有什么问题吗?

最佳答案

您将不被允许

SELECT count(*) FROM PLAN_VUELO

在 PLAN_VUELO 上的触发器中

不要使用触发器。使用存储过程。

关于sql - 错误(2,7): PLS-00428: an INTO clause is expected in this SELECT statement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4710471/

相关文章:

mysql - 需要 MySQL 5.1 中的抽象触发器来更新审计日志

mysql - SQL 添加列

php - 如何防止 PHP 中的 SQL 注入(inject)?

oracle - "DESC TABLE_NAME"Oracle 中的命令不适用于 pl/sql block

c# - 在 Servicestack.OrmLite 中映射字段类型

mysql - 在 MySQL 上只填充一列

c# - 在 linq 表映射中将多个表分配给单个类

php - 连接同一表的多行

sql - 我可以使用 SQL Developer 中的 Oracle Apex 访问在线托管的工作区吗?

database - 客户端应用程序立即响应数据库更新的最佳方式是什么?