Short Scripts

Galera, bom dia.

Estou lançando uma nova sessão no meu blog, chamada de Short Scripts. Trata-se na verdade de pequenos Códigos de Exemplos ou Dicas Rápidas e Fáceis de serem utilizadas.

Para começar, vou apresentar uma lista de 10 Short Scripts aleatórios:

 

1.      Exemplo – Concatenando campos na criação de uma table:

Create Table #Tb_Teste

(

codigo int identity(1,1),

codigogrupo int,

codigomodel int,

Controle As (Convert(VarChar(10),codigogrupo)+Convert(VarChar(10),CodigoModel))

)

Go

Insert Into #Tb_Teste Values(1,1)

Go 10

Select * from #tb_teste

 

2.      Exemplo – Backup Compression – Utilizando Trace Flag 3042:

Create Database MeuBanco

Go

 

Use MeuBanco

 

Create table valores

(codigo int primary key identity(1,1),

nome varchar(50) default ‘esta é linha de teste’,

data date default getdate())

 

Insert into valores default values

Go 10000

 

Backup database meubanco

to disk =’c:\temp\meubanco.bak’

With Init, noformat, compression

 

DBCC TRACEON (3042, -1);

GO

 

BACKUP database meubanco

to disk  = ‘c:\temp\meubanco_TEST3042.BAK’

With Init, noformat, compression

 

3.      Exemplo – Contando Itens – XML:

DECLARE @Lista VARCHAR(MAX)

SET @Lista = ‘1,2,3,15,10,12,16’

 

DECLARE @ListaXML XML

SET @ListaXML = ‘<c><e>’ + REPLACE(@Lista,’,’,'</e><e>’) + ‘</e></c>’

 

DECLARE @TotalItens INT

SET @TotalItens = @ListaXML.value(‘count(/c/e)’,’INT’)

SELECT @TotalItens

 

4.      Exemplo – Create Database For Attach e Create Database For Attach_Rebuild_Log:

— CRIANDO O BANCO DE DADOS ANEXANDO O Arquivo .MDF —

CREATE DATABASE AES

ON

(FILENAME = ‘C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\AES.MDF’)

FOR ATTACH;

— CRIANDO O BANCO DE DADOS + ANEXANDO O .MDF E RECRIANDO O LOG —

CREATE DATABASE AES

ON

(FILENAME = ‘C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\AES.MDF’)

FOR ATTACH_REBUILD_LOG;

 

5.      Exemplo – Utilizando a Extended Stored Procedure – XP_ExecResultSet:

Exec Master..XP_ExecResultSet ‘Select ”sp_help ””produtos”””’, ‘laboratorio’

ou

Exec Master..XP_ExecResultSet ‘Select ”Select * From produtos”’, ‘laboratorio’

 

6.      Exemplo – Obtendo a Versão do SQL Server e Service Pack:

SELECT @@servername ‘Server Name’,

substring(@@version,1,charindex(‘-‘,@@version)-1)

+convert(varchar(100),SERVERPROPERTY(‘edition’))+ ‘ ‘+

+convert(varchar(100),SERVERPROPERTY(‘productlevel’))’Server Version’

 

7.      Exemplo – Utilizando a Função Reverse:

Declare @TabelaNome Table (Nome VarChar(30))

Insert Into @TabelaNome Values(‘Pedro Antonio Galvão’)

Insert Into @TabelaNome Values(‘José Joaquim da Silva’)

 

Select Reverse(Left(Reverse(SubString(Nome,1,Len(Nome))),CharIndex(‘ ‘,Nome))) From @TabelaNome

 

Select reverse(substring(Reverse(‘PAULA MARIA GOLDENBERG’),1,charindex(‘ ‘,REVERSE(‘PAULA MARIA GOLDENBERG’))+0))

 

8.      Exemplo – Retornando valores através da função SubString:

Declare @Tabela Table

(Codigo Int Identity(1,1),

CodigoFunc VarChar(20))

 

Insert Into @Tabela Values(‘11.11.11.11.111’)

Insert Into @Tabela Values(‘22.11.22.11.111’)

Insert Into @Tabela Values(‘33.11.33.11.111’)

Insert Into @Tabela Values(‘33.11.44.11.111’)

 

Insert Into @Tabela Values(‘11.11.11.10.111’)

Insert Into @Tabela Values(‘22.11.22.10.111’)

Insert Into @Tabela Values(‘33.11.33.10.111’)

Insert Into @Tabela Values(‘33.11.44.10.111′)

Select * From @Tabela

Where SubString(CodigoFunc,10,2)=’10’

 

9.      Exemplo – Montando um Arquivo XML e realizando a Leitura através do comando Select:

DECLARE @DocHandle int

DECLARE @XmlDocument nvarchar(4000)

SET @XmlDocument = N'<ROOT>

<produtos CODIGO=”211″ DESCRICAO=”LUVA DOMÉSTICA TOP” MARCA=”SANRO TOP” ></produtos>

<produtos CODIGO=”213″ DESCRICAO=”LUVA DOMÉSTICA  STANDARD” MARCA=”SANRO STANDARD” ></produtos>

<produtos CODIGO=”217″ DESCRICAO=”L.DOM.PÃO DE AÇÚCAR” MARCA=”SANRO TOP” ></produtos>

<produtos CODIGO=”218″ DESCRICAO=”L.DOMESTICA SOFT” MARCA=”SANRO SOFT” ></produtos>

</ROOT>’

 

EXEC sp_xml_preparedocument @DocHandle OUTPUT, @XmlDocument

— Execute a SELECT statement using OPENXML rowset provider.

SELECT *

FROM OPENXML (@DocHandle, ‘/ROOT/produtos’,1)

With (CODIGO VarChar(3),

DESCRICAO VarChar(50),

MARCA VARCHAR(20))

 

 

10.  Exemplo – Utilizando a Função NewID(), gerando Selects aleatórios:

Declare @Tabela table

(Codigo Int Identity(1,1),

Produto VarChar(10))

 

Insert Into @Tabela Values(‘Arroz’)

Insert Into @Tabela Values(‘Feijão’)

Insert Into @Tabela Values(‘Açucar’)

Insert Into @Tabela Values(‘Batata’)

Insert Into @Tabela Values(‘Tomate’)

 

–Select será executado e organizado tendo como base o campo codigo

Select * from @tabela

 

–Select será executado e organizado tendo como base o valor único gerado pela função NewID(), sendo que a cada nova execução um novo ID para cada registro será gerado!!!

Select * from @tabela

Order By NewId()

 

Bom pessoal é isso, vou encerrando por aqui este primeiro Short Scripts, espero que todos gostem.

 

Até mais.

Anúncios

Sobre Junior Galvão - MVP

Profissional com vasta experiência na área de Tecnologia da Informação e soluções Microsoft. Graduado no Curso Superior em Gestão da Tecnologia de Sistemas de Informação. Pós-Graduado no Curso de Gestão e Engenharia de Processos para Desenvolvimento de Software com RUP na Faculdade FIAP - Faculdade de Informática e Administração Paulista de São Paulo. Pós-Graduado em Gestão da Tecnologia da Informação Faculdade - ESAMC Sorocaba. Formação MCDBA Microsoft, autor de artigos acadêmicos e profissionais postados em Revistas, Instituições de Ensino e WebSistes. Meu primeiro contato com tecnologia ocorreu em 1995 após meus pais comprarem nosso primeiro computador, ano em que as portas para este fantástico mundo se abriram. Neste mesmo ano, comecei o de Processamento de Dados, naquele momento a palavra TI não existia, na verdade a Tecnologia da Informação era conhecida como Computação ou Informática, foi assim que tudo começou e desde então não parei mais, continuando nesta longa estrada até hoje. Desde 2001 tenho atuado como Database Administrator - Administrador de Banco de Dados - SQL Server em tarefas de Administração, Gerenciamento, Migração de Servidores e Bancos de Dados, Estratégias de Backup/Restauração, Replicação, LogShipping, Implantação de ERPs que utilizam bancos SQL Server, Desenvolvimento de Funções, Stored Procedure, Triggers. Experiência na Coordenação de Projetos de Alta Disponibilidade de Dados, utilizando Database Mirroring, Replicação Transacional e Merge, Log Shipping. Atualmente trabalho como Administrador de Banco de Dados no FIT - Instituto de Tecnologia da Flextronics, como também, Consultor em Projetos de Tunnig e Performance para clientes, bem como, Professor Titular na Fatec São Roque. Desde 2008 exerço a função de Professor Universitário, para as disciplinas de Banco de Dados, Administração, Modelagem de Banco de Dados, Programação em Banco de Dados, Sistemas Operacionais, Análise e Projetos de Sistemas, entre outras. Possuo titulações e Reconhecimentos: Microsoft MVP, MCC, MSTC e MIE.
Esse post foi publicado em Dicas, Mundo SQL Server, Scripts, Short Scripts, SQL Server, VIRTUAL PASS BR e marcado , , , , , , , , . Guardar link permanente.

Uma resposta para Short Scripts

  1. Pingback: Material de Apoio – SQL Server | Alex Souza

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s