quiero mostrar al ejecutar el trigger (insert into cliente ...)
>>> tabla cliente
1 jose ortega gasset 2014-11-21 09:39:25
>>> tabla cuenta
1 1 120141121093925 5.00
la fila 1 de las dos tablas se llenan pero al ingresar un segundo cliente da el error
--insert into cliente(nombre,apellido)values('sofia','dias francisco') Error Code: 1242. Subquery returns more than 1 row 0.062 sec
este es el trigger ...
Código SQL:
Ver originaldelimiter &
CREATE TRIGGER crearCuenta
after
INSERT ON cliente
FOR each ROW
BEGIN
DECLARE cd INT;
DECLARE rf VARCHAR(15);
SET cd=(SELECT MAX(codCliente)FROM cliente);
SET rf=(SELECT CONCAT
(
codCliente,
TRIM( SUBSTRING( fechaR, 1,4 ) ),
TRIM( SUBSTRING( fechaR, 6,2 ) ),
TRIM( SUBSTRING( fechaR, 9,2 ) ),
TRIM( SUBSTRING( fechaR, 12,2 ) ),
TRIM( SUBSTRING( fechaR, 15,2 ) ),
TRIM( SUBSTRING( fechaR, 18,2 ) )
) iii
FROM cliente WHERE cd);
INSERT INTO cuenta (cuenta_codCliente,numeroCuenta)VALUES(cd,rf);
END &
-- tablas<<<<<
CREATE TABLE cliente(
codCliente INT AUTO_INCREMENT,
PRIMARY KEY (codCliente),
nombre VARCHAR(30),
apellido VARCHAR(30),
fechaR TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE cuenta(
codCuenta INT AUTO_INCREMENT,PRIMARY KEY(codCuenta),
cuenta_codCliente INT,
FOREIGN KEY (cuenta_codCliente)REFERENCES cliente(codCliente),
numeroCuenta VARCHAR(15),saldo DECIMAL(13,2)
DEFAULT 5
);
CREATE TABLE movimientos(
codMovimientos INT AUTO_INCREMENT,PRIMARY KEY(codMovimientos),
movimientos_codCuenta INT,
FOREIGN KEY(movimientos_codCuenta)REFERENCES cuenta(codCuenta),
m_numeroCuenta VARCHAR(15),
m_saldoInicial DECIMAL(13,2),
m_saldoFinal DECIMAL(13,2),
m_saldoParm DECIMAL(13,2),
tipoM VARCHAR(1),
fechaM TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)
--