PROCEDURE MYSQL

FOXMAN 29/01/2010 23:11:30
#333213
Tá, o titulo não ta lá grande coisa mas não cosegui achar as palavras corretas para o titulo, e se nem isso eu consegui.....imagina como vai ser minha explicação...hahahahaha
é o seguinte to meio sem raciocinio para criar essa procedure, confesso que já fiz coisa muito mais complexas , porém essa não estou conseguindo uma solução eficaz e fácil.
Tenho uma tabela de produtose uma tabela de produtos por categoria onde um produto pode ter diversas categorias.

Um exemplo disso é shampoo.
Shampoo Pertence a categoria Cabelo(pois é para cabelo) e a categoria (shampoo) pois é um shampoo.

Assim sendo eu teria :
Na tabela de produtos
Cod_prod = 0009 Descriação = Shampoo P/CARECAS

Na tabela de produtos por categoria eu teria(já sabendo que existe o cadastro de categorias) :
[txt-color=#0000f0]Linha | cod | id
row 1 | 0009 | 39
row 2 | 0009 | 11[/txt-color]

Ou seja na tabela produto por categoria haveria dois registro referente ao produto 0009.
Isso tudo no sistema eu sei fazer desde que seja uma inserção ou uma atualização de produto(um unico produto).

A questão é :
COMO ATUALIZAR PRODUTOS JÁ CADASTRADOS E INSERIR NA TABELA PRODUTOS POR CATEGORIA TODOS OS REGISTRO DE UMA UNICA VEZ SOMENTE INFORMANDO PARTE DO NOME DO PRODUTO.

Resumindo.
Os produtos já estão cadastrados em uma unica categoria(por exemplo shmapoo), e deverão ser alterados a atual categoria e inserido novas categorias.
Preciso inserir dois registros por produto na tabela produtos por categoria baseado nos produtos já existentes na tabela produtos
FOXMAN 29/01/2010 23:27:51
#333214
Pessoal, na tentativa de explicar para vcs, consegui explicar para eu mesmo oque eu queria......

Já tenho a solução, se alguém quiser postar/debater o assunto ou tiver uma mesma situação semelhante, o tópico ficará aberto por alguns dias.....

OK.

FOXMAN 30/01/2010 02:27:23
#333218
Ah!!!

Não adianta eu resolver sozinho e não compartilhar com vcs.

Segue a solução :

Como a solução é para rodar diretamente no servidor através de um front os parametros foram inseridos diretamente na procedure.

  DELIMITER $$

DROP PROCEDURE IF EXISTS 'while_prod' $$
CREATE DEFINER='root'@'%' PROCEDURE 'while_prod'()
BEGIN
DECLARE sloop INT;
DECLARE V1 INT DEFAULT 71;
DECLARE V2 INT DEFAULT 72;
DECLARE v3 INT DEFAULT 0;
DECLARE scodigo INT;
SET SLOOP = (SELECT COUNT(product_description.product_id) FROM product_Description where product_Description.name like [ô]%ampo%[ô]);
WHILE v3 < sloop DO
set scodigo = (select product_Description.product_id from product_Description where product_Description.ok is null and product_Description.name like [ô]%ampo%[ô] limit 1);
delete from product_to_category where product_to_category.product_id = scodigo;
insert into product_to_category()values(scodigo,V1);
insert into product_to_category()values(scodigo,V2);
UPDATE product_Description set product_Description.ok = 1 where product_Description.product_id = scodigo and product_Description.ok is null;
SET v3 = v3 + 1;
END WHILE;
END $$

DELIMITER ;


A tabela é assim mesmo, toda desenhada em [Ô]INGREIS[Ô],

LLAIA 30/01/2010 19:47:41
#333250
ah cara, só te dou meus parabéns pelo seu presente valioso!!!
FOXMAN 31/01/2010 02:14:17
#333261
Citação:

:
ah cara, só te dou meus parabéns pelo seu presente valioso!!!




[txt-size=1]OBRIGADUUU !!!!![/txt-size]
Tópico encerrado , respostas não são mais permitidas