Postagens

Mostrando postagens com o rótulo MSSQL

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...

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 ...

Formatador SQL Online

Bom, muitas vezes sentimos falta de um formatador de códigos SQL quando estamos trabalhando com SQL Server Management Studio. Já em Oracle, se estivermos usando o PL/SQL Developer ou até mesmo o SQL Developer, temos o formatador/embelezador de código integrado com a própria ferramenta de desenvolvimento. Já no MSSQL esse recurso ainda está faltando. Na versão 2008 já temos pelo menos o IntelliSense. Por isso segue uma sugestão de formatador de código online. Eles são bem simples e rápidos de usar:  http://sqlformat.appspot.com/  e  http://www.dpriver.com/pp/sqlformat.htm

Pesquisar "expressão" em qualquer objeto do banco de dados

A pouco tempo passei por um problema complicado de resolver e consegui solucionar usando o script que estou compartilhando nesse post... Vejamos o meu problema. Estava trabalhando num cliente que tinha vários objetos de banco integrados e alguns desconhecidos de uma empresa terceira. Precisava muito saber onde algumas tabelas estavam sendo utilizadas e de forma rápida... em triggers, procedures, functions, etc. Então essa consulta me ajudou... select obj.id,obj.name,obj.type,isnull(tab.name,'Sem tabela') Tabela from sysobjects obj with(nolock)  left join sys.triggers tri with(nolock) on tri.object_id = obj.id left join sysobjects tab with(nolock) on tab.id = tri.parent_id where obj.id in(select com.id  from syscomments com with(nolock)  where upper(com.text) like upper('% expressão_a_pesquisar %')) order by obj.type;

Nomes de colunas por tabela

Imagem
Script SQL básico, onde você informa o nome da tabela no local indicado (vermelho) que ele irá retornar o nome da tabela, o nome da coluna e também o tipo... Vale a pena fazer alguns ajustes e deixá-lo bem usual... select tab.name,col.name,tip.name from sys.columns col,sys.tables tab,sys.types tip where col.object_id = tab.object_id and col.system_type_id = tip.system_type_id and upper(tab.name) like upper('% NOME_TABELA %') Também podemos ter esse retorno digitando o nome da tabela no MSSQL em qualquer local e pressionando  <Alt+F1> sobre a tabela selecionada... como na imagem Também executar a procedure sp_help NOME_TABELA