Como criar uma Trigger de inserção?
Olá amigos do fórum, estou com uma dúvida, na qual já pesquisei, mas não consegui fazer o que preciso.
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.
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
Curtidas 0
Respostas
Emerson Nascimento
31/08/2009
tente assim:
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
Junior-programador
31/08/2009
Amigo emerson.en
Minha trigger funcionou assim
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.
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.
tente assim:
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
Emerson Nascimento
31/08/2009
é possível, sim. mas vai depender do comando aceito no MySQL. eu uso SQL Server e Firebird, portanto não sei exatamente como concatenar no MySQL.
tente assim:
ou assim:
note que a única diferença é o operador de concatenação (´+´ ou ´||´).
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
Junior-programador
31/08/2009
Emerson, infelizmente, não deu, da erro na hora de inserir nas duas opções.
Aguardo retorno.
Aguardo retorno.
GOSTEI 0
Junior-programador
31/08/2009
Amigo Emerson, consegui, dando uma olhada na net, veja como ficou
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
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