Postagens

Dicas para passar na certificação 70-461: Querying Microsoft SQL Server 2012

Imagem
Já fazem alguns dias que não público nada no blog. Então, aproveitando que alguns amigos tem me perguntado dicas para passar na certificação 70-461: Querying Microsoft SQL Server 2012, resolvi fazer esse post. Seguem algumas dicas para estudar nessa certificação SQL Server: Primeiro entenda e saiba todas as habilidades que serão medidas. Se você passar em uma das provas abaixo você será um MCP e se passar nas três poderá ser um MCSE: Data Platform. Exam 70-461: Querying Microsoft SQL Server 2012 - http://www.microsoft.com/learning/pt-br/exam-70-461.aspx Exam 70-462: Administering Microsoft SQL Server 2012 Databases - https://www.microsoft.com/learning/pt-br/exam-70-462.aspx Exam 70-463: Implementing a Data Warehouse with SQL Server 2012 - https://www.microsoft.com/learning/pt-br/exam-70-463.aspx Pelo que eu percebi no site do MCP, também é possível conquistar o título MCSE se passar em outras certificações, como por exemplo 70-483: C# Specialist. Mas não te

Ultimamente o tempo anda curto...

Imagem
Já faz bastante tempo que não tenho feito postagens no blog. Peço desculpas, mas o tempo realmente anda cada dia mais curto. ;) Hoje gostaria apenas de publicar algumas fotos do último projeto que tive o grande prazer de atuar como analista de sistemas, o Comitê Paralimpico Brasileiro... Fazendo propaganda para o CPB... ;) Feliz com andamento do projeto... Essa é a vista maravilhosa da sala utilizada para o projeto. Queria agradecer a toda a equipe da CIGAM que tem me ensinado bastante, entre eles Vagner, Vera, Gabriel, Alexandre, Rafael Zorzanello, Thomas, e todos os demais colegas. Não poderia também deixar de agradecer a equipe do CPB que é fantástica, com relacionamento agradabilíssimo. Só tenho a agradecer! Valeu pessoal! Esse ano prometo postar mais assuntos interessantes...

Procedure para gerar sequencial numérico e/ou alfabético

Pessoal, sei que já faz bastante tempo que não posto alguma novidade no blog. Mas hoje vou compartilhar uma procedure que pode ser útil para geração de sequenciais que deve-se considerar caracteres numéricos e do alfabeto (0-9, A-Z e a-z). Um exemplo de utilidade, seria gerar uma faixa assim: A01 - A10. Essa procedure lhe retornará A01, A02, A03, A04, A05, A06, A07, A08, A09 e A10, por exemplo. Vamos ao código fonte da nossa procedure então... os comentários existentes na procedure explicam a lógica e as validações existentes... create or replace procedure PR_GERASEQUENCIALNS(p_seqIni varchar2, p_seqFin varchar2, p_considerarAlpha number) is v_seqIni varchar2(50); v_seqFin varchar2(50); v_considerarAlpha boolean; v_somaNumericosIni number; v_somaNumericosFin number; begin --atualiza variáveis virtuais... v_seqIni := p_seqIni; v_seqFin := p_seqFin;

Diagrama ER do dicionário de dados do MSSQL

Hoje estou passando aqui no blog bem rápido, só pra compartilhar com vocês um diagrama entidade relacionamento que precisei nos últimos dias e demorei um pouquinho para encontrar. É o diagrama ER dos objetos internos do banco MSSQL 2005. Segue o link dele: http://bit.ly/rkzAYZ Valeu pessoal!

Função para contar palavra

Gostaria de compartilhar com vocês um problema que tive de resolver a pouco tempo em um script SQL (que logo estarei postando para vocês esse script ). Enfim, meu problema era que precisava saber quantas vezes um determinado termo ou caracter aparecia em uma String. Precisava resolver esse problema através de uma função... por isso, segue abaixo um exemplo de solução: create function fc_conta_palavra(@palavra varchar(100), @string varchar(max)) returns int as begin -- declaração variáveis usadas na função declare @contador int, @contadorpalavra int --contador de quantas vezes apareceu a palavra set @contadorPalavra = 0 --contador do loop set @contador = 0 -- loop while @contador <= len(@string) begin --se encontrar a palavra soma mais um para @contadorPalavra set @contadorPalavra = case when substring(@string, @contador, len(@palavr

Script para dropar objetos com nome em comum

Hoje gostaria de postar um script bem simples mas que pode ser muito útil quando se necessita dropar um lote de objetos que tenham uma determinada "caracteristica" em comum. O exemplo pode não resolver seu problema, mas certamente servirá de idéia se você realmente estiver precisando. Bom, no exemplo que estou postando, tenho na tabela GEUSUARI  os códigos dos usuários do sistema. Quero apagar todas as tabelas que estejam variando o nome por código de usuário. Vejamos como fica o script para resolver esse probleminha... use SUABASE --primeiramente temos um cursor que irá ler todos os objetos do MSSQL --levando em consideraçao a restricao imposta na clausula where declare tabelas_cursor cursor for select name from sysobjects where xtype = 'U' and right(name,3) in (select cd_usuario from GEUSUARI with(nolock) where usuario <> 'SUPERVISOR') order by name open tabelas_cursor

Como descobrir qual linha está gerando deadlock

Imagem
Bom, esse post vou tentar ser o mais direto possível. Estou fazendo ele para ajudar um amigo que está precisando dessa solução... Abra duas sessões no Oracle Primeira sessão Segunda sessão create table t1 as select * from estoque3.cocoprnt update t1 set descricao = 'VEJA BEM' where controle = '01'; update t1 set descricao = 'EU' where controle = '02'; update t1 set descricao = 'VEJA BEM' where controle = '02';   update t1 set descricao = 'EU' where controle = '01'; 1 - Primeiramente copie alguma tabela. No exemplo estou copiando a tabela de COCOPRNT do usuário ESTOQUE3. 2 – Atualize o controle 01 da primeira sessão; 3 – Atualize o controle 02 da segunda sessão; 4 – Atualize o controle 02 na primeira sessão. A sessão deve ficar suspensa; 5 – Complete a instrução com deadlock atualizando o controle 01 na segunda sessão;                 Deve aparecer uma mensagem ORA-00060. Execute e