brainrj 0 Denunciar post Postado Agosto 26, 2008 OLÁ PESSOAL... FAZ UM TEMPO QUE ESTOU SEM PROGRAMAR... ACHO QUE ENFERRUJEI UM POUCO... RS... EU SEI QUE JA FIZ ISSO ANTES... MAS NÃO LEMBRO O QUE FALTA... EU PRECISO DE UMA TRIGGER QUE SEMPRE QUE EU CRIAR UMA LOJA, SEJA CRIADO UM ESTOQUE PRA ESSA LOJA... TENHO 3 TABELAS: LOJAS, PRODUTOS E ESTOQUE... NA TABELA LOJA TENHO OS CAMPOS COD_LOJA E NOME, NA TABELA PRODUTOS TENHO OS CAMPOS COD_PRODUTO E NOME E NA TABELA ESTOQUE TENHO OS CAMPOS COD_LOJA, COD_PRODUTO E QTD (QUANTIDADE) CRIEI A TRIGGER: CREATE TRIGGER `LOJA_ESTOQUE` AFTER INSERT ON `lojas` FOR EACH ROW BEGIN SET @vLOJA = NEW.COD_LOJA; INSERT INTO estoque (cod_produto, cod_loja) values ((SELECT COD_PRODUTO FROM PRODUTOS),@vLOJA); END; ESTA DANDO ERRO PORQUE NO SELECT DA TABELA PRODUTOS RETORNA MAIS DE UM REGISTRO... SE EU USAR O LIMIT 1 FUNCIONA CERTINHO... O PROBLEMA E QUE TENHO VARIOS REGISTROS E PRECISO CRIAR O ESTOQUE DE TODOS PRA ESSA LOJA... EU SEI QUE JA FIZ ISSO... MAS NÃO LEMBRO SE FOI NO INSERT DIRETO OU SE USEI WHILE OU FOR... ALGUEM TEM UM EXEMPLO PRA ME DAR??? JA PROCUREI E TUDO QUE ACHEI ESTAVA CONFUSO... Compartilhar este post Link para o post Compartilhar em outros sites
brainrj 0 Denunciar post Postado Agosto 26, 2008 eu sou uma anta mesmo... tão simples... ja resolvi... tao simples... rs... BEGIN SET @vLOJA = NEW.COD_LOJA; INSERT INTO estoque (cod_produto, cod_loja) SELECT COD_PRODUTO, @vLOJA FROM PRODUTOS; END Compartilhar este post Link para o post Compartilhar em outros sites