Paginas

quinta-feira, 4 de novembro de 2010

Iniciando a brincadeira com Trigger

E o que seria o danado desse Trigger..não é Tigger...nem tigre hehehe...mas Trigger gatilho..ou seja algo que é disparado em determinado momento...seja num insert delete update enfim tudo que for realizado pode ser controlado...irei mostrar a criação de 2 trigger's simples uma de insert e outra de delete...mãos a obra:

Ao inserir um registro na tbl usuario, essa trigger é disparada e realiza um insert em outra tbl tbllog informando o nome do usuario, com um texto mostrando a hora e data do insert...
DELIMITER //
CREATE TRIGGER add_linha_log AFTER INSERT ON usuario
FOR EACH ROW
BEGIN
INSERT INTO tbllog SET id=NEW.id, descricao = concat(new.usuario, '- Usuario criado com sucesso as ', now());
END //

Este outro faz a mesma coisa que o insert...porem ao inves de ser disparado no insert será disparado no delete:
DELIMITER //
CREATE TRIGGER add_linha_log_del AFTER DELETE ON usuario
FOR EACH ROW
BEGIN
INSERT INTO tbllog SET id=OLD.id, descricao = concat(OLD.usuario, '- Usuario excluido com sucesso as ', now());
END //

Espero que tenham gostado....

Criando uma View

Bom o que seria uma view?? View é uma tabela que não existe...que é gerada a partir de um select, exemplo:
create view QtdUser(usuario,qtdade) as
select usuario, count(usuario) as total from usuario
group by usuario
order by total desc

Obs - Para criar uma view, a quantidade de campos da view deve ser igual a do select;

O exemplo acima cria uma view que mostra o nome do Usuário e a quantidade de Usuários com a mesma descrição, isso foi de um arquivo xls que importei para o MySQL...na pratica isso não deveria acontecer..massssss...

segunda-feira, 1 de novembro de 2010

Usando concat e Case -MySql

Este select retorna o nome, valor(salario sem calculo), salarioAtual(com calculo), onde os valor do salario são concatenados com o texto R$ e o ,00, o upper deixa o nome em caixa alta..olower em caixa baixa...
select
upper(nome) as Nome,
concat('R$ ', valor, ',00') AS Salario,
concat('R$ ',(CASE setor
WHEN 'informatica' THEN valor*2
WHEN 'limpeza' THEN valor*5
ELSE valor
END),',00') as SalarioAtual
from teste
Para o alto e avante!!!

Select criado por mim

Claro mudei o nome dos campos, e nome de tabelas pois não acho viavel mostrar o real...
SELECT tbl1.x, tbl1.y, tbl1.z, tbl2.a, tbl2.b, tbl3.c
FROM tbl1 LEFT JOIN tbl2
where left(tbl1.x,4) = tbl2.b
AND tbl1.y='P'
AND exists (SELECT *
FROM tbl1 JOIN tbl2
WHERE tbl1.y='M'
AND left(tbl1.x,4) = tbl2.b)
ORDER BY tbl1.x

A parte left(tbl1.x,4) faz o seguinte, pega os 4 primeiros caracters e compara com o users.b,ou seja um nome Mariovaldo...só será comparado Mari..

Parece facil ne? Depois de feito..tudo é mais facil hehehe

Google Code Playground

O Google vai dominar o mundo!!!

http://code.google.com/apis/ajax/playground/#translate

Exemplo do codigo para usar o recurso de tradução da google, altere o texto e o idioma...da pra brincar um bocado com isso!!! É só fussar o menu com as vaaarias funções disponiveis|!!

Select por mês - MySql

Select simples onde num cadastro qualquer vc tenha uma data, vamos supor q vc queira todos os registros realizados no mês 09,por exemplo:

SELECT
campo1, campo2, campo3
FROM
tabela
WHERE
month(campo_Data) = '09'
order by campo_data DESC

Pronto bem simples e funcional!!!

sábado, 9 de outubro de 2010