php - 简单的触发错误?!PL/SQL:ORA-00933:
问题描述
我正在尝试创建一个触发器,它将值插入审计表以供管理员用户批准。触发器会将添加到顾问表中的新值插入到此审计表中。
我已经重新调整了很多触发器,但似乎无法绕过编译错误!估计是小东西?
DROP TABLE MyAuditTable;
CREATE TABLE MyAuditTable (
audit_id INTEGER NOT NULL,
new_name VARCHAR2 (30),
new_postcode VARCHAR2 (20),
status VARCHAR2 (15),
CONSTRAINT pk_MyAuditTable PRIMARY KEY ( audit_id )
);
DROP sequence MySeq;
Create sequence MySeq MINVALUE 1 MAXVALUE 9999999 INCREMENT BY 1 START WITH 1;
drop trigger MyTrigger;
create trigger MyTrigger
after insert on my_consultant_table
for each row
begin
insert into MyAuditTable values (
MySeq.nextval, :new.con_name,
:new.con_postcode,
'Pending'
)
from my_consultant_table;
end;
/
错误:PL/SQL:ORA-00933:
所以审计表现在应该有从顾问表中新输入的数据,其中包含姓名和邮政编码属性。另一个触发器将触发,以便在更改状态时允许这些更改。
谢谢你!
解决方案
线
from my_consultant_table
是不必要的。
应该:
insert into MyAuditTable values (MySeq.nextval, :new.con_name, :new.con_postcode, 'Pending');
推荐阅读
- c# - 在类或结构中使用字符串常量集并将其用作方法 C# 的参数
- python - 我正在尝试找到一种更有效的方法来从大型库中选择某个加扰序列
- java - 当mysql连接器位于同一个项目中时,如何从命令行运行连接数据库的Java程序?
- php - 如何从 jsonp php 获取单个值
- kotlin - Dagger @Provides in Kotlin
- java - spring-kafka 使用 Avro 序列化/反序列化 org.springframework.messaging.Message 对象
- ssl - 哪个 Kubernetes 入口“获胜”(同一主机的 tls 和多个入口)?
- sed - 是否可以使用 sed 命令替换: ( -> \( 同时 \( -> (
- resolution - 更改显示器分辨率
- python-3.x - 仅在 pycharm 中没有名为“PIL”的模块(在 IDLE 中运行良好)