【发布时间】:2014-11-21 20:47:50
【问题描述】:
我有这段 sql 代码。它是一个触发器,当 ORDER_SERVICE 中的状态更改插入到名为 sms 的表中时,sms_number(它是一个序列)和 CODIGO_CLIENTE。我有这个:
create or replace TRIGGER ENVIAR_SMS
AFTER UPDATE ON ORDEM_SERVICO
FOR EACH ROW
BEGIN
IF UPDATING
THEN
IF ( NOT :NEW.ESTADO = :OLD.ESTADO)
THEN
INSERT INTO SMS(N_SMS, CODIGO_CLIENTE)
VALUES (SEQ_SMS.NEXTVAL, SELECT CODIGO_CLIENTE
FROM ORDEM_SERVICO,
VEICULO
WHERE ORDEM_SERVICO.MATRICULA=VEICULO.MATRICULA);
END IF;
END IF;
END;
它基本上是一个连接。我在ORDEM_SERVICO 中有MATRICULA 作为FOREIGN KEY,在VEICULO 作为主键。我在VEICULO 中也有(并且需要)CODIGO_CLIENTE,因此加入。但是它抱怨我在 VALUES 中所做的选择。请问有什么解决办法吗?
【问题讨论】:
标签: sql oracle plsql sql-insert