Validação de e-mail no mysql

July 8th, 2008

Seguindo os 2 ultimos post, e aproveitando rpa melhorar o banco aqui da empresa, fiz uma função para validar e-mails no mysql com expressão regular.

segue o código:

DELIMITER $$

DROP FUNCTION IF EXISTS `functions`.`validar_email`$$
CREATE FUNCTION `functions`.`validar_email` (word varchar(255)) RETURNS INT
BEGIN
declare retorno INT DEFAULT 0;
select word REGEXP ‘^[a-z0-9]+@+[a-z0-9]+.+[a-z]{2,4}$’ into retorno;
return retorno;
END$$

DELIMITER ;

Chega de banco faiado ;-)

Remover Espaços no mysql

July 8th, 2008

Mais uma proveitando, remover espaços no mysql mesmo esquema do post anterior segue o fonte:

DELIMITER $$

DROP FUNCTION IF EXISTS `functions`.`remover_espaco`$$
CREATE FUNCTION `functions`.`remover_espaco` (word varchar(255)) RETURNS VARCHAR(255)
BEGIN
declare new_word varchar(255) DEFAULT NULL;

SET new_word = replace(word,’ ‘,”);
return new_word;

END$$

DELIMITER ;

Função para remover acentos em Mysql

July 8th, 2008

Entao, tava aqui, precisando de uma função que removesse acentos direto no mysql, por que?

Porque programador é preguiçoso e se estiver gravando nao ta nem ai, entao, coloco na Stored Procedure a função que remove os acentos do campo que preciso.

La vai a receita:

Primeiro crie um banco de dados para associar todas as funções que você precisa assim fica mais facil dar manutenção, eu criei i banco functions.

código da Função:

DELIMITER $$

DROP FUNCTION IF EXISTS `functions`.`remover_acento`$$
CREATE FUNCTION `functions`.`remover_acento` (word varchar(255)) RETURNS VARCHAR(255)
BEGIN

declare new_word varchar(255) DEFAULT NULL;
declare pointer INT default 0;
declare wordlist1 varchar(255) DEFAULT NULL;
declare wordlist2 varchar(255) DEFAULT NULL;

SET wordlist1=’áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙãõÃÕâôÂÔçÇ’;
SET wordlist2=’aeiouAEIOUaeiouAEIOUaoAOaoAOcC’;

set new_word = word;
while (pointer < length(wordlist2)) do
SET new_word = replace(new_word,SUBSTRING(wordlist1,pointer,1),SUBSTRING(wordlist2,pointer,1));
SET pointer = pointer + 1;
end while;
return new_word;

END$$

DELIMITER ;

Para utilizar, na Stored procedure select remover_acentos(’pálávrá’);

E boa ;-)

Frases de Atendimento

June 17th, 2008

Eu só trabalho aqui, e as vezes sou obrigado a ouvir coisas que só postando aqui pra desabafar.

Pra quem não sabe, Atendimento, é a função de atrapalhar o desenvolvimento, ouvir bola do cliente e explicar quadrado pra nós, não sei a que se deve, gostaria de um estudo aprofundado sobre a psicologia do Atendimento, se alguem souber de um link comente.

Tanto é, que as meninas do atendimento, e sua sala tem varios apelidos:

Sala: Gaiola das loucas, Panela de pressão (6 mulheres juntas); Elas: Desperate Attendence e outras

Até pensaram em desenvolver um produto chamado Attendence Calminator (um porrete)(Não foi eu).

Então, e voltando ao assunto, Frases de Atendimento, as 3 mais novas:

Attendence 1. (Sobre um projeto de site que vai usar banco de dados Oracle):
-HUmm (Agora ele entendeu tudo), Entao se vai ter Oracle não precisa de Html né?

Attendence 2. (Sobre um projeto de site na área esportiva).
- Eu não sei nada de Futebol, não sei o que é avatar.

E a última , uma imagem e uma frase:
Attendence 3. (Sobre como ligar um aparelho na tomada).
-Taliba, me ajuda a ligar o forno, eu tentei mas não deu certo!

[Desvendando o My.cnf] mensagens de erro para Português

April 26th, 2008

Dando inicio à serie “Desvendando o My.cnf“, vou mostrar em poucos passos como passar as mensagens de erro do mysql para português.

Primeiro, o my.cnf, que é responsável por todas as configurações do mysql. Esta localizado em /etc/mysql/my.cnf, para alterar você precisa de privilégios de super-usuário.

Começando, abra o arquivo no terminal
$-> sudo vi /etc/mysql/my.cnf

Localize a variável dentro do editor:
digite: /language

Vá até o final da linha
digite: shift+a

Substitua english por portuguese

Salve o arquivo:
digite: ESC + : + x

Reinicie o mysql:
$-> sudo killall mysqld
$-> sudo mysqld_safe &

Pronto, chegamos ao fim do primeiro capítulo sobre o arquivo de configuração do mysql, e trocamos a linguagem do mysql de forma simples.

Criando um xml a partir de uma consulta ao banco

April 25th, 2008

Muitas vezes é nessessario criar um xml com dados do seu banco, pra isso utiliza-se programação externa, nesse artigo vou mostrar como nao depender de outra linguagem para gerar um xml.

shell> mysql -uroot –xml -p -e “use banco; select * from tb_tabela” > arquivo.xml

Muito simples, acabo de fazer um aqui, encontrei um prblema com tagas html dentro de um resultado. vou procurar resolver e posto o que conseguir.

Escrever Stored Procedures em Linguagens externas

April 24th, 2008

 Eu também não acreditei, mas é verdade.

Graças à Eric Herman (mysql.com) & Antony Curtis (ieee.org), agora podemos desenvolver nossas SP em:
C, PERL, Java,LegacyUDF e XML-RPC.

Outras linguagens ja fazem parte das próximas versões:
Python,Lua e Ruby.

Um exemplo:

XML-RPC Language Plug-in

Status: working

Requirements:

  • xmlrpc-c library

Example:

mysql> create function xml_get_state(id int) returns text

-> no sql language xmlrpc external name

-> ‘xmlrpc://betty.userland.com/RPC2;examples.getStateName’;

Query OK, 0 rows affected (0.00 sec)

mysql> select xml_get_state(40);

+——————-+
| xml_get_state(40) |
+——————-+
| South Carolina |
+——————-+

1 row in set (0.42 sec)

Mais aqui

Função para fazer URL decode em Mysql

April 24th, 2008

DELIMITER $$

DROP FUNCTION IF EXISTS `_functions`.`url_decode`$$
CREATE DEFINER=`root`@`%` FUNCTION `_functions`.`url_decode`(original_text text) RETURNS text CHARSET latin1
BEGIN
declare new_text text default null;
declare pointer int default 1;

set new_text = replace(original_text,’+',’ ‘);
while (LOCATE(”%”,new_text,pointer) <> 0 )&& (pointer < length(new_text)) do
set pointer = LOCATE(”%”,new_text,pointer);
set new_text = concat(left(new_text,pointer-1), char(conv(mid(new_text,pointer+1,2),16,10)), right(new_text,length(new_text)-(pointer+2)));
set pointer = pointer + 1;
end while;

return new_text;

END;

$$

DELIMITER ;

Repare que ele utiliza um outro banco para guardar as funções.

Por Garret Hill

Pérolas do Bolão 1 de abril (mas não é mentira)

April 1st, 2008


putz eu nao falo mentiras entao nao vou participar…

mais vou falar uma parada q rolou na favela da portelinha onde eu morava
cara tinha 7 anos de idade dai tava jogando um pelada tomando uma bera com
os truta la da quebra, ai os mano q tavam jogando contra nois se sentiram
ofendido por ter perdido o game pra nois…

meu os o cara inveredaram e queriam bater em nois ai eu sozinho bati nos
febem, veio fiz cara de marrento e apaverei pensa q é facil ser
assim…nossa muita treta vixxi….

cara maior concideraçao depois da fita mano, so lembro que eu disse pro
primeiro cara se que o direito ou o esquerdo, o cara responde por q mano
eu nem respondi ja dei um direto de esquerda por q se fosse de direita era
cimitério mano… nossa muita treta vixxiiii….

ai o resto da galera ja ficou na segunda pra conferir eu disse tem mais
algum…

nenhum mano ta tude susse com nois ai comecei a comandar a quadrilha de
mirim da favela mano, nessa idade ja tava mandando na parada… assim q
nois mostra a atividade, cara hoje percisto muito e emfrento aquilo q for
pra tar em primeiro sempre, a favela incina, e tem mais fe no sonhor q no
lichao nasse fror…

Pérolas do bolão!! - 2007

March 6th, 2008

Em e-mail enviado à todos:

Bom pessoal com todo respeito, espero a colaboração e o bom entendimento de
todos sobre o assunto, como o ****** diz ninguém é criança…

Então por meio deste pesso a todos que apartir de hoje me chamen pelo nome
ou por ev**…

Para quem não me conhece meu Nome é ***** ****** MACHADO. E não gosto de
ser chamado de bolão ou outros apelidos que existe… ponto final…

Ponto Final BOLÃO