terça-feira, 22 de junho de 2010

De LONG para VARCHAR2

É, sei que estou bastante em falta com meu blog. O problema foi que tive que praticamente formatar meu notebook e reinstalar tudo (na verdade ainda estou reinstalando). Em casa não sobra muito tempo à noite para postar (novamente reinstalando o Vista e seus 500 patches de atualização e estudando para tirar certificação OCP). Além de ter que dividir o tempo entre os afazeres domésticos! O homem também tem que participar =P
Bem, pra não dizer que abandonei completamente meu singelo blog, vou postar sobre a única coisa que tenho visto ultimamente. Oracle Database. Recentemente tivemos uma situação na empresa que foi necessário "desfazer" a alteração do desenvolvedor. Um campo que ele havia passado para LONG, voltar a sua situação original: VARCHAR2
O problema é que não vai ser um simples ALTER TABLE que vai fazer com que tudo volte a Terra do Moranguinho. Por ser um tipo de campo usado para guardar objetos "largos", o banco não aceita que você simplesmente "diminua" o mesmo. Uma solução básica pode ser a seguinte:
1) Criar uma nova coluna do tipo destino:
ALTER TABLE tabela ADD complemento_b VARCHAR2(255);

2) Usar uma procedure como a abaixo para realizar a cópia dos dados para nova coluna:
CREATE OR REPLACE PROCEDURE long_to_varchar
AUTHID CURRENT_USER
IS
status NUMBER (5);
nSeq NUMBER(10);
vComplemento VARCHAR2(255);
BEGIN
--Alimentar a nova coluna com os dados da coluna COMPLEMENTO que é do tipo LONG
FOR reg_a IN (SELECT sequencia, complemento FROM tabela) LOOP

nSeq := reg_a.sequencia;
vComplemento := SUBSTR(reg_a.complemento,1,255);

UPDATE tabela A SET COMPLEMENTO_B = vComplemento
WHERE A.sequencia = nSeq;
END LOOP;
END;
/

3) Remover a coluna LONG:
ALTER TABLE tabela SET UNUSED COLUMN complemento;
ALTER TABLE tabela DROP UNUSED COLUMNS;
Claro, você pode simplesmente também fazer:
ALTER TABLE tabela DROP COLUMN complemento;
Mas isso pode causar um erro na aplicação dependendo do momento que seja feito.

4)Renomear a coluna:
ALTER TABLE tabela RENAME COLUMN complemento_b TO complemento;

Claro, nem tudo é um mundo feliz. Os valores que tinham mais de 255 posições serão truncados. De outro modo, pra que você queria diminuir o tamanho do campo?



Hi there! I do know that I'm very lacking with my blog. The problem was my notebook that I had to practically format it and reinstall (in fact I'm still reinstalling everything). At home I don't have so much free time at night to post (again reinstalling the Windows Vista and its more than 500 update patches, and also studying to take my OCP certify) Among that I must share my time doing some housework! Yeap, the man also must participate on that =P
Well... To not saying that I completely forgot my blog I'll post about a thing that is the main thing that I had been seeing those days: Oracle Database. Recently we had a problem at our company that was necessary to "undo" the developer implementation. A column that he had turning into LONG, back to its original structure: VARCHAR2
The big problem is that will not be a simple ALTER TABLE command that will bring you back to the Strawberry Fields land. Because it's a kind of column created to keep "large" objects, that database will not simply accept you to "decrease" the size. A basic solution I'll give you following:

1) Create a new column with the destination data type:
ALTER TABLE d_table ADD complement_b VARCHAR2(255);

2) Use a procedure like that to procede a copy of the data:
CREATE OR REPLACE PROCEDURE long_to_varchar
AUTHID CURRENT_USER
IS
status NUMBER (5);
nSeq NUMBER(10);
vComplement VARCHAR2(255);
BEGIN
--Feed the new column with the column COMPLEMENT data that is LONG type
FOR reg_a IN (SELECT seq_id, complement FROM d_table) LOOP

nSeq := reg_a.seq_id;
vComplement := SUBSTR(reg_a.complement,1,255);

UPDATE d_table A SET COMPLEMENT_B = vComplement
WHERE A.seq_id = nSeq;
END LOOP;
END;
/

3) Remove the LONG column:
ALTER TABLE d_table SET UNUSED COLUMN complement;
ALTER TABLE d_table DROP UNUSED COLUMNS;
Sure, you can simply also do:
ALTER TABLE d_table DROP COLUMN complement;
But that can bring you an application error, depending on the moment and application.

4) Rename your column:
ALTER TABLE d_table RENAME COLUMN complement_b TO complement;

Sure, not everything is a happy land. The values that had more than 255 characters will be truncate. Otherwise, why would you decrease your column size?

quinta-feira, 10 de junho de 2010

Dar uma flor


Quinta flower, upload feito originalmente por Mááh :).

Dar uma flor.
Coisa tão simples.
Tão barata.
Tão pequena.
Tão ingênua.
Coisa perdida na infância.
Nas mãos de uma criança.

Dar uma flor.
Que logo irá murchar.
Logo irá secar.
Mas alguma coisa fica.
Ou não seria apenas uma flor.

Preciso dar mais flores...
Não dessas que se compram em lojas,
mas que se pega em um pequeno jardim.
Se não para recuperar minha criança,
mas para recuperar algo de romântico
que morreu em mim.

¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶¶

To give a flower.
So simple thing.
So cheap.
So small.
So naive.
Lost thing on the childhood.
On a children hands.

To give a flower.
That soon will wither.
Soon will dry.
But something stays.
Or it would not be just a flower.

I need to give more flowers.
Not those that we buy on stores,
But those we take on little gardens.
If not to recover the children in me,
But to recover something romantic
Which had died inside me.

terça-feira, 8 de junho de 2010

Campo de flores

Ontem a noite sonhei com um campo de flores. Eram brancas e espaçadas. Meia altura. Não eram margaridas. Exalavam um odor de campo molhado pela chuva, suave, ébrio... Se é que sonhos exalam odores. Os caules e as folhas eram de um verde tão suave quanto seu odor. Folhas macias, pétalas macias... Paz.
Em meio as flores ela branca como tal. Pele suave como pétalas. Seu cheiro ungido à paisagem. A brisa da manhã acariciava seu vestido e tudo o que eu conseguia fazer era sentir as pétalas que balançavam acariciarem meus dedos, como se fossem as suas próprias mãos.
Não conseguia ver seu rosto... Nem tocá-la... Nem falar... Nem escutar. Como se todas as flores do campo me segurassem. Como se eu fosse uma parte de uma pintura. Imóvel. Estática. Cheiros, flores, campos, folhas, peles... Todos ungidos em martírios, numa cena bela, calma, anônima e distante.

Sinto alguma coisa se esvaindo em mim. Sem emoção. Sem vontade. Como se nada mais importasse ou fizesse sentido. Casa, TV, trabalho, estudo, metas... Nada. Tudo vazio. Quero voltar a esse campo de flores. Onde mesmo sem saber porque ou como, alguma coisa lá fazia sentido.



Yesterday night I dreamt about a field of flowers. They were white and sparse. Low-high. They were not daisies. The emitted smell of a field drenched by the rain, gentle and drunk... If the dreams exhale smells. The stems and leaves were green as smooth as its smell. Tender leaves, petals soft ... Peace.
Between the flowers she was white as they were. Soft skin as the petals. Her smell anointed to the scenery. The morning breeze caressing her dress and all that I got to do was to feel the petals caressing my fingers, as it was her own hands.
I couldn't see her face... Neither touch her... Neither speak... Neither listen. It was just like if the flowers on that field were holding me. As if I was just a part of a paint. Immobile. Static. Smells, flowers, fields, skins... All anointed in martyrdom, into a beautiful scene, calm, anonymous and distant.

I feel something fading on me. No emotions. No desires. Just as if nothing else would matter or make sense. Home, TV, work, study, goals... Noting. Everything empty. I want to go back to that field of flowers. Where even without knowing why or how, something there was making sense.

sexta-feira, 4 de junho de 2010

Olhos Castigados


, upload feito originalmente por vicky_paul.

Hoje pela manhã quando vinha para o trabalho tentei prestar atenção nas coisas que me cercavam, tentando encontrar na paisagem algum motivo de alegria. Não falo de paisagens gloriosas, como uma bela praia com um pôr do sol ou a vista de um lago na montanha, mas qualquer coisa simples que pudesse ser extraída alguma beleza de lá. Não encontrei. Percebi que mesmo as coisas simples estão com sua beleza ofuscada pelas nossas preocupações, medos e irritações.

Meus olhos estão demais castigados de ver crianças trocando brinquedos, cadernos e lápis, por pistolas, enxadas e drogas. De ver adultos que não se importam com conseqüências. Inconseqüentes... Inconseqüências que temos que lidar. Olhos castigados de ver pessoas egoístas e egocêntricas incapazes de viver em uma comunidade ou sociedade. Irritantes. Meus olhos estão castigados e cansados de estarem sempre atentos, procurando o perigo em todo e qualquer lugar. Meus olhos estão castigados de ver o lixo em seu caminho, distraído daquilo que uma vez foi belo. Meus olhos estão castigados de tudo que feio, de tudo que é tosco. Meus olhos estão demais castigados de luzes, neon, monitores, lcd e led. Propagandas, apelos, desejos... Meus olhos sacodem de um lado ao outro, abalados.

Quero descansar meus olhos... Nem que seja por uma noite apenas.

ϴϴϴϴϴϴϴϴϴϴϴϴϴϴϴϴϴϴϴϴϴϴϴϴϴϴϴϴϴϴϴ

Today morning when I was coming to work I tried to pay attention on the things around me, trying to find at the scenery some reason of joy. I'm not talking about some glorious landscape, like a beautiful sunset on a beach or a lake on the mountains, but any simple thing which I could get some beauty from there. I didn't find. I just realized that even the simple things are having their beauty overshadowed by our worries, fears and irritations.

My eyes have been too punished in seeing the children exchanging toys, books and pencils for guns, hoes and drugs. To see adults which don't care about consequences. Inconsequent... Inconsequence which we have to deal to. Eyes punished in seeing selfish and egocentric people, unable to live in a community or society. Annoying people. My eyes have been too punished and tired of being always alert, searching for the dangerous everywhere and anytime. My eyes have been too punished in seeing the garbage in their way, distracting for the things which once were beautiful. My eyes have been tired of all that's ugly, all that’s clumsy. My eyes have been too punished of lights, neon, monitors, lcd and led. Advertisements, appeals and desires... My eyes moving from one side to another, shaken.

I want to rest my eyes... Even if for just one night.

Locations of visitors to this page
Côcos pelo Mundo