Fórum Como criar uma Trigger de inserção? #31368
31/08/2009
0
Tenho duas tabelas
TBEmissora
id_emissora
nome_emissora
TBUsuario
id_usuario
nome_usuario
idemissora_usuario
Como fazer uma trigger que na hora que eu inserir uma nova emissora a trigger me cadastra um novo usuario com um nome padrão, pois quando o usuário entra no sistema ele deve primeiro selecionar a emissora
Por exemplo o usuario seria
login - usuario
senha - usuario
e o id da nova emissora
---------
O mesmo acontece no cadastro de bairros,
como faço na trigger para quando eu cadastrar uma cidade nova, essa trigger inserir no banco de dados do bairro um novo bairro por exemplo com nome centro (nome da cidade inserida)
tbcidade
id_cidade
nome_cidade
tbbairro
id_bairro
nome_bairro
idcidade_bairro
Obrigado aos amigos que puderem me ajudar.
Junior-programador
Curtir tópico
+ 0Posts
31/08/2009
Emerson Nascimento
create trigger ai_emissora after insert on tbemissora for each row begin insert into tbusuario (nome_usuario, senha, idemissora_usuario) values (´user´, ´password´, new.id_emissora); end
create trigger ai_cidade after insert on tbcidade for each row begin insert into tbbairro (nome_bairro, idcidade_bairro) values (´Centro´, new.id_cidade); end
Gostei + 0
31/08/2009
Junior-programador
Minha trigger funcionou assim
begin Insert Into tbusuario( nome_usuario, senha_usuario, login_usuario, idemissora_usuario) VALUES (´PRINCIPAL´, ´usuario´, ´123mudar´, new.id_emissora); end
Mas será possivel inserir li no PRINCIPAL, ele inserir a palavra PRINCIPAL mais o nome da emissora que cadastrei, por exemplo assim
PRINCIPAL (MASTERFM)
Aguardo retorno amigo.
Obrigado.
create trigger ai_emissora after insert on tbemissora for each row begin insert into tbusuario (nome_usuario, senha, idemissora_usuario) values (´user´, ´password´, new.id_emissora); end
create trigger ai_cidade after insert on tbcidade for each row begin insert into tbbairro (nome_bairro, idcidade_bairro) values (´Centro´, new.id_cidade); end
Gostei + 0
31/08/2009
Emerson Nascimento
tente assim:
begin Insert Into tbusuario( nome_usuario, senha_usuario, login_usuario, idemissora_usuario) VALUES (´PRINCIPAL (´ + new.nome_emissora + ´)´, ´usuario´, ´123mudar´, new.id_emissora); end
ou assim:
begin Insert Into tbusuario( nome_usuario, senha_usuario, login_usuario, idemissora_usuario) VALUES (´PRINCIPAL (´ || new.nome_emissora || ´)´, ´usuario´, ´123mudar´, new.id_emissora); end
note que a única diferença é o operador de concatenação (´+´ ou ´||´).
Gostei + 0
31/08/2009
Junior-programador
Aguardo retorno.
Gostei + 0
31/08/2009
Junior-programador
BEGIN
Insert Into tbbairro(
nome_bairro,
cep_bairro,
idcidade_bairro)
VALUES
(CONCAT(´CENTRO (´,new.nome_cidade,´)´),
´00.000-00´,
new.id_cidade);
END
Fiz uma concatenação dos dois resultados, funcionou perfeito, antes quero agradecer sua atenção.
Valeu brother
Júnior
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)