<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:gd="http://schemas.google.com/g/2005" xmlns:georss="http://www.georss.org/georss" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-6456219252921472203</atom:id><lastBuildDate>Thu, 05 Sep 2024 13:56:53 +0000</lastBuildDate><category>dicas</category><category>Functions</category><category>query</category><category>Validadores</category><category>ADM</category><category>Inicio</category><category>Otimização</category><title>BlogDoSql</title><description></description><link>http://blogdosql.blogspot.com/</link><managingEditor>noreply@blogger.com (Ronderson)</managingEditor><generator>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><xhtml:meta content="noindex" name="robots" xmlns:xhtml="http://www.w3.org/1999/xhtml"/><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6456219252921472203.post-1622335807198887096</guid><pubDate>Thu, 23 Dec 2010 03:24:00 +0000</pubDate><atom:updated>2010-12-22T19:24:31.728-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dicas</category><category domain="http://www.blogger.com/atom/ns#">query</category><title>Armazenando o select de uma Stored Procedure SQL</title><description>Para armazenar o select de uma stored procedure, no sql 2005 eh um pouco diferente.&lt;br /&gt;
precisa seguir alguns passos:&lt;br /&gt;
&lt;br /&gt;
- precisa ter um linked server configurado.&lt;br /&gt;
- chamar a rotina que retornara o conteudo da proc.&lt;br /&gt;
&lt;br /&gt;
configurando o linked server:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
exec sp_addlinkedserver&lt;br /&gt;
@server = '[nome que vc dara ao link]',&lt;br /&gt;
@srvproduct = '',&lt;br /&gt;
@provider = 'SQLNCLI',--FICA ASSIM MESMO&lt;br /&gt;
@provstr = 'DRIVER={SQLServer};SERVER=[IP DO SEU SERVIDOR ONDE ESTA A SUA BASE];UID=[LOGIN];PWD=[SENHA];' &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
feito isso teremos o link configurado. &lt;br /&gt;
agora basta chamar a rotina assim: &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
select * from openquery([nome dado ao link],&lt;br /&gt;
'execute [Teste_RetornoProc]) &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
com isso pode-se inserir o retorno em qualquer tabela, tanto temporaria ou variavel, ou mesmo tabela fisica.</description><link>http://blogdosql.blogspot.com/2010/12/armazenando-o-select-de-uma-stored.html</link><author>noreply@blogger.com (Ronderson)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6456219252921472203.post-1033915634809078400</guid><pubDate>Thu, 23 Dec 2010 00:12:00 +0000</pubDate><atom:updated>2010-12-22T16:12:49.382-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dicas</category><category domain="http://www.blogger.com/atom/ns#">query</category><title>Armazenando o retorno de uma Stored Procedure SQL</title><description>Esse eu perdi um tempinho procurando pois nao sabia como funcionava, mas achei um tutorial da microsoft e fiquei besta da facilidade:&lt;br /&gt;
&lt;br /&gt;
Ex.&lt;br /&gt;
--proc exemplo&lt;br /&gt;
create procedure Teste_RetornaStatus&lt;br /&gt;
@contratoId as int&lt;br /&gt;
as begin&lt;br /&gt;
&amp;nbsp;&amp;nbsp; select contratoStatus&lt;br /&gt;
&amp;nbsp;&amp;nbsp; from contrato&lt;br /&gt;
&amp;nbsp;&amp;nbsp; where contratoId = @contratoId&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--executando a proc&lt;br /&gt;
declare @status as int&lt;br /&gt;
&lt;br /&gt;
--armazenando o retorno da procedure (simples)&lt;br /&gt;
execute @status = Teste_RetornaStatus @contratoId = 12&lt;br /&gt;
&lt;br /&gt;
pronto , o retorno esta na variavel @status.</description><link>http://blogdosql.blogspot.com/2010/12/armazenando-o-retorno-de-uma-stored.html</link><author>noreply@blogger.com (Ronderson)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6456219252921472203.post-8392176122875407757</guid><pubDate>Tue, 21 Dec 2010 00:31:00 +0000</pubDate><atom:updated>2010-12-22T16:09:16.879-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dicas</category><category domain="http://www.blogger.com/atom/ns#">Functions</category><title>Cláusula OUTPUT</title><description>As instruções INSERT, DELETE e UPDATE ganharam uma nova clausula, OUTPUT . &lt;br /&gt;
&lt;br /&gt;
Ex: &lt;br /&gt;
--declarando uma tabela que ira receber os dados&lt;br /&gt;
DECLARE @Deletados AS TABLE (materia INT, nome_artita VARCHAR(30)) &lt;br /&gt;
&lt;br /&gt;
--executando o codigo e abastacendo a tabela&lt;br /&gt;
DELETE aluna OUTPUT &lt;br /&gt;
DELETED.materia, &lt;br /&gt;
DELETED.nome_artista &lt;br /&gt;
INTO @Deletados&lt;br /&gt;
WHERE materia = 6</description><link>http://blogdosql.blogspot.com/2010/12/clausula-output.html</link><author>noreply@blogger.com (Ronderson)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6456219252921472203.post-3776360716996002797</guid><pubDate>Tue, 21 Dec 2010 00:29:00 +0000</pubDate><atom:updated>2010-12-20T16:29:20.291-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dicas</category><category domain="http://www.blogger.com/atom/ns#">Functions</category><title>PIVOT - transformando linhas em colunas</title><description>A função PIVOT transforma o ajuste de linhas para colunas. &lt;br /&gt;
&lt;br /&gt;
Ex: --TRANSFORMANDO LINHAS EM COLUNAS NO SQL SERVER 2000&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
select&amp;nbsp;&amp;nbsp;Produto,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sum(case Mes when 1 then Valor else 0 end) as Jan,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sum(case Mes when 2 then Valor else 0 end) as Fev,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;sum(case Mes when 3 then Valor else 0 end) as Mar&lt;br /&gt;
from foo&lt;br /&gt;
group by Produto&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--TRANSFORMANDO LINHAS EM COLUNAS NO SQL SERVER 2005&lt;br /&gt;
&lt;br /&gt;
select Produto,[1] as Jan, [2] as Fev,[3] as Mar&lt;br /&gt;
&lt;br /&gt;
from&lt;br /&gt;
&lt;br /&gt;
(&lt;br /&gt;
&amp;nbsp;&amp;nbsp; select Valor,Mes,Produto&lt;br /&gt;
&amp;nbsp;&amp;nbsp; from foo&lt;br /&gt;
) p PIVOT&lt;br /&gt;
(sum(Valor) for Mes in ([1],[2],[3]) ) as foo</description><link>http://blogdosql.blogspot.com/2010/12/pivot-transformando-linhas-em-colunas.html</link><author>noreply@blogger.com (Ronderson)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6456219252921472203.post-1320948352162475035</guid><pubDate>Tue, 21 Dec 2010 00:27:00 +0000</pubDate><atom:updated>2010-12-20T16:27:18.564-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dicas</category><category domain="http://www.blogger.com/atom/ns#">Functions</category><title>TOP</title><description>O Top foi inserido no SQL 7.0, porém esta clausula no SQL 2005 traz algumas alterações. Permite, por exemplo, o número da percentagem a ser retornada em um SELECT. E pode também ser utilizada também para INSERT, UPDATE e DELETE.&lt;br /&gt;
&lt;br /&gt;
Ex: &lt;br /&gt;
-- Retorna Linha 1 e Linha 2&lt;br /&gt;
SELECT TOP(2) * FROM alunos&lt;br /&gt;
&lt;br /&gt;
--Atualiza Linha 1 e Linha 2 para 'S'&lt;br /&gt;
UPDATE TOP(2) alunos&lt;br /&gt;
SET Col1='S’&lt;br /&gt;
&lt;br /&gt;
--Apaga as 2 primeiras linhas onde 'S' foi apagado&lt;br /&gt;
DELETE TOP(2) alunos</description><link>http://blogdosql.blogspot.com/2010/12/top.html</link><author>noreply@blogger.com (Ronderson)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6456219252921472203.post-4301941359631594782</guid><pubDate>Tue, 21 Dec 2010 00:26:00 +0000</pubDate><atom:updated>2010-12-20T16:26:18.605-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dicas</category><category domain="http://www.blogger.com/atom/ns#">Functions</category><title>NTILE</title><description>Esta função nos permite separar o resultado de uma Query em um determinado número de grupos de acordo com uma ordem. &lt;br /&gt;
Ex: &lt;br /&gt;
SELECT&amp;nbsp;&amp;nbsp; Vendedor, &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Produto, &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Quantidade, &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROW_NUMBER() OVER(ORDER BY Quantidade DESC) AS Numero, &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NTILE(3) OVER(ORDER BY Quantidade DESC) as Grupo &lt;br /&gt;
FROM&amp;nbsp;&amp;nbsp; Analise_Vendas &lt;br /&gt;
ORDER BY Quantidade DESC</description><link>http://blogdosql.blogspot.com/2010/12/ntile.html</link><author>noreply@blogger.com (Ronderson)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6456219252921472203.post-1722972224329965780</guid><pubDate>Tue, 21 Dec 2010 00:25:00 +0000</pubDate><atom:updated>2010-12-20T16:25:09.031-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dicas</category><category domain="http://www.blogger.com/atom/ns#">Functions</category><title>RANK() e DENSE_RANK()</title><description>RANK e DENSE_RANK atribuem o mesmo valor para as colunas que possuem o mesmo valor dentro da ordem qe foi estabelecida.&lt;br /&gt;
&lt;br /&gt;
Ex: &lt;br /&gt;
SELECT&amp;nbsp;&amp;nbsp;&amp;nbsp; Vendedor, Produto, Quantidade,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROW_NUMBER() OVER(ORDER BY Quantidade ASC) AS Numero,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RANK() OVER(ORDER BY Quantidade asc) AS Rank,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DENSE_RANK() OVER(ORDER BY Quantidade ASC) AS DenseRank&lt;br /&gt;
FROM Analise_Vendas ORDER BY Quantidade asc</description><link>http://blogdosql.blogspot.com/2010/12/rank-e-denserank.html</link><author>noreply@blogger.com (Ronderson)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6456219252921472203.post-1618025992826470897</guid><pubDate>Mon, 20 Dec 2010 04:16:00 +0000</pubDate><atom:updated>2010-12-19T20:16:04.316-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dicas</category><category domain="http://www.blogger.com/atom/ns#">Functions</category><title>Paginação</title><description>PAGINAÇÃO - Uma outra ídéia para utlizar esta função seria para criar uma páginação para nossa Query, podendo utiliza-lá em alguma página na Web. &lt;br /&gt;
&lt;br /&gt;
Ex: DECLARE &lt;br /&gt;
@NumeroDaPagina AS INT, &lt;br /&gt;
@TamanhoDaPagina AS INT &lt;br /&gt;
&lt;br /&gt;
SET @NumeroDaPagina = 2 &lt;br /&gt;
SET @TamanhoDaPagina = 5 &lt;br /&gt;
&lt;br /&gt;
SELECT &lt;br /&gt;
* &lt;br /&gt;
FROM (&lt;br /&gt;
SELECT ROW_NUMBER() OVER(ORDER BY Quantidade DESC ) AS Numero, &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Vendedor,&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Produto , &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Quantidade, &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Telefonemas &lt;br /&gt;
FROM Analise_Vendas) AS V WHERE Numero&lt;br /&gt;
&lt;br /&gt;
BETWEEN (@NumeroDaPagina-1)* @TamanhoDaPagina+1 AND&lt;br /&gt;
&lt;br /&gt;
@NumeroDaPagina*@TamanhoDaPagina ORDER BY Quantidade DESC,&lt;br /&gt;
&lt;br /&gt;
Telefonemas</description><link>http://blogdosql.blogspot.com/2010/12/paginacao.html</link><author>noreply@blogger.com (Ronderson)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6456219252921472203.post-3342868870093033543</guid><pubDate>Mon, 20 Dec 2010 04:13:00 +0000</pubDate><atom:updated>2010-12-19T20:13:16.420-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dicas</category><category domain="http://www.blogger.com/atom/ns#">Functions</category><title>Partition by</title><description>PARTITION BY - Outra opção da sintaxe básica que se chama PARTITION BY, que&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
funciona mais ou menos como o group by, definindo por qual&lt;br /&gt;
&lt;br /&gt;
critério nosso ROW_NUMBER deverá ser ressetado.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ex: select ROW_NUMBER() over ( PARTITION BY Produto ORDER BY Quantidade Desc ) as Numero, Vendedor, Produto, Quantidade from Analise_Vendas</description><link>http://blogdosql.blogspot.com/2010/12/partition-by.html</link><author>noreply@blogger.com (Ronderson)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6456219252921472203.post-527736367729529579</guid><pubDate>Mon, 20 Dec 2010 04:12:00 +0000</pubDate><atom:updated>2010-12-19T20:12:30.932-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dicas</category><category domain="http://www.blogger.com/atom/ns#">Functions</category><title>Row_Number</title><description>Row_number  Utilizando a função row_number podemos não só numerar as linhas&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
de uma tabela como também fazer essa numeração em uma ordem&lt;br /&gt;
&lt;br /&gt;
específica, diferente da ordem na qual as linhas serão exibidas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ex: -- no SQL 2005 select ROW_NUMBER() over ( ORDER BY Quantidade desc ) as Numero, Vendedor, Produto, Quantidade, Telefonemas from Analise_Vendas</description><link>http://blogdosql.blogspot.com/2010/12/rownumber.html</link><author>noreply@blogger.com (Ronderson)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6456219252921472203.post-9047523221872427092</guid><pubDate>Fri, 17 Dec 2010 17:41:00 +0000</pubDate><atom:updated>2010-12-17T09:41:44.300-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">dicas</category><category domain="http://www.blogger.com/atom/ns#">query</category><title>UNION ALL vs UNION e ordenação</title><description>Se você sabe que não pode haver valores duplicados entre duas tabelas, então sempre use UNION ALL. Ele salva o banco de dados de realizar diversas triagens para ordenação dos seus dados. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Seu DBA não estará satisfeito com você se usar UNION desnecessariamente. É uma característica padrão do UNION realizar ordenação, mesmo sem a existência da opção de ORDER BY.</description><link>http://blogdosql.blogspot.com/2010/12/union-all-vs-union-e-ordenacao.html</link><author>noreply@blogger.com (Ronderson)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6456219252921472203.post-646381107427262140</guid><pubDate>Fri, 17 Dec 2010 00:44:00 +0000</pubDate><atom:updated>2010-12-16T16:44:10.969-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Otimização</category><title>Otimizações SQL</title><description>Algumas dicas para otimizações em instruções SQL (em alguns casos o servidor de banco de dados pode não suportar algumas instruções ou cláusulas).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1) Todas as vezes que for utilizar um SQL que possua condições de OR, é mais aconselhável e mais rápido utilizar IN, como no exemplo: &lt;br /&gt;
&lt;br /&gt;
AO INVÉS DE &lt;br /&gt;
&lt;br /&gt;
select * from projint where sit_projint = ‘AI’ or sit_projint = ‘EL’ &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DIGITE &lt;br /&gt;
&lt;br /&gt;
select * from projint where sit_projint IN (‘AI’,‘EL’); &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2) Quando existem duas ou mais condições AND juntas, especifique primeiro sempre a que possui o maior limite de ocorrências &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
AO INVÉS DE &lt;br /&gt;
&lt;br /&gt;
select count(*) from pessoa where sit_pessoa = 11 AND cod_munic &amp;gt; 1100155 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
USE &lt;br /&gt;
&lt;br /&gt;
select count(*) from pessoa where cod_munic &amp;gt; 1100155 AND sit_pessoa = 11 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3) Quando existem duas ou mais condições OR juntas, especifique primeiro sempre a que possui o maior limite de ocorrências &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
AO INVÉS DE &lt;br /&gt;
&lt;br /&gt;
select count(*) from pessoa where cod_munic &amp;gt; 1100155 OR sit_pessoa = 11 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DIGITE&lt;br /&gt;
&lt;br /&gt;
select count(*) from pessoa where sit_pessoa = 11 OR cod_munic &amp;gt; 1100155 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4) Tenha cuidado com o sinal de &amp;lt;&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
AO INVÉS DE &lt;br /&gt;
&lt;br /&gt;
select count(*) from pessoawhere cod_munic &amp;lt; &amp;gt; 1100155 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DIGITE&lt;br /&gt;
&lt;br /&gt;
select count(*) from pessoawhere cod_munic &amp;lt; 1100155 OR cod_munic &amp;gt; 1100155</description><link>http://blogdosql.blogspot.com/2010/12/otimizacoes-sql.html</link><author>noreply@blogger.com (Ronderson)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6456219252921472203.post-7239770100140551253</guid><pubDate>Fri, 17 Dec 2010 00:28:00 +0000</pubDate><atom:updated>2010-12-16T16:28:22.057-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">query</category><title>Transferindo registros de uma tabela para outra</title><description>para inserir dados de uma tabela para outra, seria assim:&lt;br /&gt;
INSERT INTO table1 (nome) SELECT nome FROM table2;</description><link>http://blogdosql.blogspot.com/2010/12/transferindo-registros-de-uma-tabela.html</link><author>noreply@blogger.com (Ronderson)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6456219252921472203.post-276156466033464430</guid><pubDate>Fri, 17 Dec 2010 00:26:00 +0000</pubDate><atom:updated>2010-12-16T16:26:12.085-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">ADM</category><title>Criação de usuários</title><description>GRANT ALL PRIVILEGES ON meuBD.* TO ronderson@localhost &lt;br /&gt;
&lt;br /&gt;
IDENTIFIED BY '123mudar' WITH GRANT OPTION;&lt;br /&gt;
FLUSH PRIVILEGES; &lt;br /&gt;
Descrição: atribui todos os privilégios à todas as tabelas do banco de dadosmeuBD ao usuário ronderson, a partir da máquina localhost, cuja senha é 123mudar. O comando FLUSH PRIVILEGES atualiza as novas alterações no daemon do MySQL. Caso o usuário joao não existe, um novo usuário será criado.</description><link>http://blogdosql.blogspot.com/2010/12/criacao-de-usuarios.html</link><author>noreply@blogger.com (Ronderson)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6456219252921472203.post-3198781934624242221</guid><pubDate>Thu, 16 Dec 2010 19:29:00 +0000</pubDate><atom:updated>2010-12-16T16:47:51.161-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Functions</category><category domain="http://www.blogger.com/atom/ns#">Validadores</category><title>Mantém somente Números</title><description>Pensando na necessidade de limpar os cadastros de telefone, existe uma forma de retirar tudo que nao seja numero de um telefone, mantendo somente oque lhe interessa realmente. Abaixo esta uma function que realiza esse processo:&lt;br /&gt;
&lt;br /&gt;
USE [purkinje]&lt;br /&gt;
GO&lt;br /&gt;
/****** Object: UserDefinedFunction [dbo].[FVALIDA_NUMEROS] Script Date: 12/16/2010 17:27:30 ******/&lt;br /&gt;
SET ANSI_NULLS ON&lt;br /&gt;
GO&lt;br /&gt;
SET QUOTED_IDENTIFIER ON&lt;br /&gt;
GO&lt;br /&gt;
CREATE FUNCTION [dbo].[FVALIDA_NUMEROS] (@PALAVRA VARCHAR (1000)) RETURNS VARCHAR (1000) AS &lt;br /&gt;
BEGIN&lt;br /&gt;
DECLARE&lt;br /&gt;
@RESULTADO VARCHAR (1000), &lt;br /&gt;
@LETRA VARCHAR(1),&lt;br /&gt;
@QTD_PALAVRA INTEGER,&lt;br /&gt;
@CONT INTEGER&lt;br /&gt;
SET @CONT = 0 &lt;br /&gt;
SET @QTD_PALAVRA = LEN(@PALAVRA)&lt;br /&gt;
SET @RESULTADO = ''&lt;br /&gt;
WHILE @CONT &amp;lt; @QTD_PALAVRA &lt;br /&gt;
BEGIN &lt;br /&gt;
SET @CONT = @CONT + 1 &lt;br /&gt;
SET @LETRA = SUBSTRING(@PALAVRA,@CONT,1)&lt;br /&gt;
IF @LETRA IN ('0','1','2','3','4','5','6','7','8','9' ) &lt;br /&gt;
BEGIN&lt;br /&gt;
SET @RESULTADO = @RESULTADO + @LETRA &lt;br /&gt;
END&lt;br /&gt;
END &lt;br /&gt;
RETURN @RESULTADO &lt;br /&gt;
END</description><link>http://blogdosql.blogspot.com/2010/12/mantem-somente-numeros.html</link><author>noreply@blogger.com (Ronderson)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6456219252921472203.post-2872400922839851110</guid><pubDate>Thu, 16 Dec 2010 19:24:00 +0000</pubDate><atom:updated>2010-12-16T11:24:27.857-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Functions</category><category domain="http://www.blogger.com/atom/ns#">Validadores</category><title>Function Valida_CPF</title><description>Hoje em dia há necessidade de efetuar a validação do CPF não só na aplicação mas também na base de dados. Pensando nisso abaixo segue o código para validar o CPF através de uma Function:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
USE [Banco de Dados]&lt;br /&gt;
GO&lt;br /&gt;
/****** Object:  UserDefinedFunction [dbo].[FN_VALIDA_CPF]    Script Date: 12/16/2010 17:22:10 ******/&lt;br /&gt;
SET ANSI_NULLS ON&lt;br /&gt;
GO&lt;br /&gt;
SET QUOTED_IDENTIFIER ON&lt;br /&gt;
GO&lt;br /&gt;
CREATE FUNCTION [dbo].[FN_VALIDA_CPF]&lt;br /&gt;
(&lt;br /&gt;
 @CPF VARCHAR(14)&lt;br /&gt;
) &lt;br /&gt;
RETURNS BIT AS&lt;br /&gt;
&lt;br /&gt;
BEGIN&lt;br /&gt;
&lt;br /&gt;
 DECLARE @NEW_CPF VARCHAR(14)&lt;br /&gt;
 DECLARE @CPF2 VARCHAR(14)&lt;br /&gt;
 DECLARE @X INT&lt;br /&gt;
 DECLARE @FN_VALIDA_CPF BIT&lt;br /&gt;
&lt;br /&gt;
 SET @NEW_CPF = ''&lt;br /&gt;
 SET @X = 0&lt;br /&gt;
 SET @FN_VALIDA_CPF = 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 SELECT @FN_VALIDA_CPF = (CASE RTRIM(LTRIM(@CPF))&lt;br /&gt;
 WHEN '00000000000' THEN 0&lt;br /&gt;
 WHEN '11111111111' THEN 0&lt;br /&gt;
 WHEN '22222222222' THEN 0&lt;br /&gt;
 WHEN '33333333333' THEN 0&lt;br /&gt;
 WHEN '44444444444' THEN 0&lt;br /&gt;
 WHEN '55555555555' THEN 0&lt;br /&gt;
 WHEN '66666666666' THEN 0&lt;br /&gt;
 WHEN '77777777777' THEN 0&lt;br /&gt;
 WHEN '88888888888' THEN 0&lt;br /&gt;
 WHEN '99999999999' THEN 0&lt;br /&gt;
 END)&lt;br /&gt;
&lt;br /&gt;
 IF @FN_VALIDA_CPF = 0&lt;br /&gt;
  RETURN @FN_VALIDA_CPF&lt;br /&gt;
&lt;br /&gt;
 SET @FN_VALIDA_CPF = 0&lt;br /&gt;
&lt;br /&gt;
 DECLARE @SOMA INT&lt;br /&gt;
 DECLARE @DV1 INT&lt;br /&gt;
 DECLARE @DV2 INT&lt;br /&gt;
 DECLARE @DVS CHAR(2)&lt;br /&gt;
&lt;br /&gt;
 SET @SOMA = 0&lt;br /&gt;
 SET @DV1=0&lt;br /&gt;
 SET @DV2=0&lt;br /&gt;
 SET @DVS = ''&lt;br /&gt;
&lt;br /&gt;
 WHILE (@X&lt;LEN(@CPF)) BEGIN
  SET @X = @X + 1
  --PEGA SÓ OS NÚMEROS
  IF ASCII(SUBSTRING(@CPF,@X,1))&gt;=48 and ASCII(SUBSTRING(@CPF,@X,1))&lt;=57&lt;br /&gt;
   SET @NEW_CPF=@NEW_CPF + SUBSTRING(@CPF,@X,1)&lt;br /&gt;
 END&lt;br /&gt;
&lt;br /&gt;
 IF ISNUMERIC(@NEW_CPF)=0 RETURN 0&lt;br /&gt;
&lt;br /&gt;
 SET @CPF = @NEW_CPF&lt;br /&gt;
&lt;br /&gt;
 SET @X=0&lt;br /&gt;
 WHILE (@X&lt;9) BEGIN&lt;br /&gt;
  SET @X = @X + 1&lt;br /&gt;
  SET @SOMA = @SOMA + (11-@X) * (CONVERT(int,SUBSTRING(@CPF,@X,1)))&lt;br /&gt;
 END&lt;br /&gt;
&lt;br /&gt;
 SET @DV1 = 11 - (@SOMA % 11)&lt;br /&gt;
 IF @DV1 IN (10,11)&lt;br /&gt;
  SET @DV1=0&lt;br /&gt;
 SET @CPF2 = @CPF + CONVERT(VARCHAR,@DV1)&lt;br /&gt;
 SET @SOMA = 0&lt;br /&gt;
&lt;br /&gt;
 SET @X = 0&lt;br /&gt;
 WHILE (@X &lt;=9) BEGIN&lt;br /&gt;
  SET @X = @X + 1&lt;br /&gt;
  SET @SOMA = @SOMA + (12-@X)*(CONVERT(INT,SUBSTRING(@CPF2,@X,1)))&lt;br /&gt;
  SET @DV2 = 11 - (@SOMA % 11)&lt;br /&gt;
 END&lt;br /&gt;
&lt;br /&gt;
 IF @DV2 IN (10,11)&lt;br /&gt;
  SET @DV2=0&lt;br /&gt;
&lt;br /&gt;
 SET @DVS = CONVERT(VARCHAR,@DV1) + CONVERT(VARCHAR,@DV2)&lt;br /&gt;
&lt;br /&gt;
 IF @DVS = RIGHT(@CPF,2)&lt;br /&gt;
  SET @FN_VALIDA_CPF = 1&lt;br /&gt;
 ELSE&lt;br /&gt;
  SET @FN_VALIDA_CPF = 0&lt;br /&gt;
&lt;br /&gt;
 RETURN (@FN_VALIDA_CPF)&lt;br /&gt;
&lt;br /&gt;
END</description><link>http://blogdosql.blogspot.com/2010/12/function-validacpf.html</link><author>noreply@blogger.com (Ronderson)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6456219252921472203.post-6219674285751132667</guid><pubDate>Thu, 16 Dec 2010 01:43:00 +0000</pubDate><atom:updated>2010-12-15T17:43:58.054-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Inicio</category><title>Início</title><description>Em breve teremos varias dicas e explicacoes sobre diversos comandos e novidades do mundo SQL</description><link>http://blogdosql.blogspot.com/2010/12/inicio.html</link><author>noreply@blogger.com (Ronderson)</author><thr:total>0</thr:total></item></channel></rss>