<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Marcelo Neias Weblog</title>
	<atom:link href="http://marceloneias.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://marceloneias.wordpress.com</link>
	<description>Dicas e novidades de programação e TI</description>
	<lastBuildDate>Tue, 17 Nov 2009 01:07:09 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='marceloneias.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/b2bd3a61f525908957e8484e31d34a63?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Marcelo Neias Weblog</title>
		<link>http://marceloneias.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://marceloneias.wordpress.com/osd.xml" title="Marcelo Neias Weblog" />
		<item>
		<title>Google apresenta nova linguagem de programação</title>
		<link>http://marceloneias.wordpress.com/2009/11/17/google-apresenta-nova-linguagem-de-programacao/</link>
		<comments>http://marceloneias.wordpress.com/2009/11/17/google-apresenta-nova-linguagem-de-programacao/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 01:07:09 +0000</pubDate>
		<dc:creator>marceloneias</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[GO]]></category>
		<category><![CDATA[Goole]]></category>
		<category><![CDATA[linguagem]]></category>

		<guid isPermaLink="false">http://marceloneias.wordpress.com/?p=139</guid>
		<description><![CDATA[Isso mesmo, o Google está apresentando uma nova linguagem de programação, chamada de &#8220;GO&#8221;.
Segundo o Google, esta nova linguagem de programação combina a velocidade e a dinâmica do Python com o desempenho das versões compiladas C e C++, e como não poderia deixar de ser&#8230; totalmente Open Source.
O projeto para o desenvolvimento desta nova linguagem [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marceloneias.wordpress.com&blog=4335248&post=139&subd=marceloneias&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Isso mesmo, o Google está apresentando uma nova linguagem de programação, chamada de &#8220;GO&#8221;.</p>
<p>Segundo o Google, esta nova linguagem de programação combina a velocidade e a dinâmica do Python com o desempenho das versões compiladas C e C++, e como não poderia deixar de ser&#8230; totalmente Open Source.</p>
<p>O projeto para o desenvolvimento desta nova linguagem surgiu em 2008, ela ainda não roda na plataforma Windows, mas já há pacotes tanto para arquiteturas 32 bit quanto 64 bit.</p>
<p>Para saber mais, visite:</p>
<p>Site oficial do &#8220;GO&#8221;: <a href="http://golang.org/">http://golang.org/</a></p>
<p>Blogger official do &#8220;GO&#8221;: <a href="http://google-opensource.blogspot.com/2009/11/hey-ho-lets-go.html">http://google-opensource.blogspot.com/2009/11/hey-ho-lets-go.html</a></p>
<p>Abaixo o famoso &#8220;Hello World&#8221; escrito em &#8220;GO&#8221;:</p>
<p><span style="color:#0000ff;">package main</span></p>
<p><span style="color:#0000ff;">import &#8220;fmt&#8221;</span></p>
<p><span style="color:#0000ff;">func main() {</span></p>
<p><span style="color:#0000ff;"> fmt.Printf(&#8220;Hello, world\n&#8221;)</span></p>
<p><span style="color:#0000ff;">}</span></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/marceloneias.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/marceloneias.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/marceloneias.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/marceloneias.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/marceloneias.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/marceloneias.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/marceloneias.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/marceloneias.wordpress.com/139/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/marceloneias.wordpress.com/139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/marceloneias.wordpress.com/139/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marceloneias.wordpress.com&blog=4335248&post=139&subd=marceloneias&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://marceloneias.wordpress.com/2009/11/17/google-apresenta-nova-linguagem-de-programacao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e594e63293ad0386a755fe4e870a4b75?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Marcelo Néias</media:title>
		</media:content>
	</item>
		<item>
		<title>C# Iniciante &#8211; Short Circuiting</title>
		<link>http://marceloneias.wordpress.com/2009/04/12/c-iniciante-short-circuiting/</link>
		<comments>http://marceloneias.wordpress.com/2009/04/12/c-iniciante-short-circuiting/#comments</comments>
		<pubDate>Sun, 12 Apr 2009 08:00:52 +0000</pubDate>
		<dc:creator>marceloneias</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[boolean]]></category>
		<category><![CDATA[condicional]]></category>
		<category><![CDATA[if]]></category>
		<category><![CDATA[lógico]]></category>
		<category><![CDATA[operador]]></category>
		<category><![CDATA[short circuiting]]></category>

		<guid isPermaLink="false">http://marceloneias.wordpress.com/?p=133</guid>
		<description><![CDATA[ 
Uma técnica interessante que o C# utiliza é o short circuiting (curto circuito), que significa que se parte de uma declaração é todo verdadeiro ou falso, não há nenhuma necessidade de processar o resto da declaração.
Vamos à prática para entender melhor, analise o código abaixo:
int valor1 = 60;
int valor2 = 10;
int valor3 = 35;
if ((valor1 &#62; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marceloneias.wordpress.com&blog=4335248&post=133&subd=marceloneias&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p> </p>
<p>Uma técnica interessante que o C# utiliza é o <strong>short circuiting</strong> (curto circuito), que significa que se parte de uma declaração é todo verdadeiro ou falso, não há nenhuma necessidade de processar o resto da declaração.</p>
<p>Vamos à prática para entender melhor, analise o código abaixo:</p>
<pre class="brush: csharp;">int valor1 = 60;
int valor2 = 10;
int valor3 = 35;
if ((valor1 &gt; valor2) || (valor2 &lt; valor3))
    Response.Write(&quot;Verdadeiro&quot;);
else
    Response.Write(&quot;False&quot;);

if ((valor2 &gt; valor3) &amp;&amp; (valor1 &gt; valor2))
    Response.Write(&quot;Verdadeiro&quot;);
else
    Response.Write(&quot;False&quot;);</pre>
<p><span style="text-decoration:underline;">Primeira verificação:</span> Neste caso, como o valor1 é maior que o valor2 e o operador lógico condicional utilizado é o OR (||), sem mesmo verificar a segunda instrução o resultado desta verificação é verdadeiro.</p>
<p><span style="text-decoration:underline;">Segunda verificação:</span> Neste caso, como o valor2 é menor que o valor3 e o operador lógico condicional utilizado é o AND (&amp;&amp;), sem mesmo verificar a segunda instrução o resultado desta verificação é falso.</p>
<p>Projetando bem as expressões que usam os operadores lógicos condicionais, você poderá aumentar o desempenho do seu código evitando trabalho desnecessário. Coloque expressões booleanas simples que possam ser avaliadas facilmente no lado esquerdo de um operador lógico condicional e coloque as expressões mais complexas no lado direito. Com isso, em muitos casos as expressões mais complexas não são avaliadas por não ser necessária.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/marceloneias.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/marceloneias.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/marceloneias.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/marceloneias.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/marceloneias.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/marceloneias.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/marceloneias.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/marceloneias.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/marceloneias.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/marceloneias.wordpress.com/133/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marceloneias.wordpress.com&blog=4335248&post=133&subd=marceloneias&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://marceloneias.wordpress.com/2009/04/12/c-iniciante-short-circuiting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e594e63293ad0386a755fe4e870a4b75?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Marcelo Néias</media:title>
		</media:content>
	</item>
		<item>
		<title>Novidades SQL Server 2008 &#8211; Declarative Management Framework</title>
		<link>http://marceloneias.wordpress.com/2009/04/11/novidades-sql-server-2008-declarative-management-framework/</link>
		<comments>http://marceloneias.wordpress.com/2009/04/11/novidades-sql-server-2008-declarative-management-framework/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 05:57:23 +0000</pubDate>
		<dc:creator>marceloneias</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[condition]]></category>
		<category><![CDATA[facets]]></category>
		<category><![CDATA[padrão]]></category>
		<category><![CDATA[policy]]></category>
		<category><![CDATA[sql server 2008]]></category>

		<guid isPermaLink="false">http://marceloneias.wordpress.com/?p=129</guid>
		<description><![CDATA[Um dos grandes sonhos de um DBA é o de manter o padrão de nomenclatura dos objetos, muito difícil de conseguir quando se tem um número razoavel de desenvolvedores.
Agora no SQL Server 2008 isso já é possível utilizando a DMF (Declarative Management Framework) que possibilita a adição de políticas no banco de dados para garantir [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marceloneias.wordpress.com&blog=4335248&post=129&subd=marceloneias&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Um dos grandes sonhos de um DBA é o de manter o <span style="text-decoration:underline;">padrão de nomenclatura dos objetos</span>, muito difícil de conseguir quando se tem um número razoavel de desenvolvedores.</p>
<p>Agora no SQL Server 2008 isso já é possível utilizando a <strong>DMF</strong> (<span style="text-decoration:underline;">Declarative Management Framework</span>) que possibilita a adição de políticas no banco de dados para garantir que determinadas diretrizes sejam seguidas.</p>
<p>Através da DMF não só é possível garantir o padrão de nomenclatura de objetos como também garantir que determinadas opções do banco de dados não sejam alteradas, como por exemplo impedir que a opção autoshrink não seja habilitada.</p>
<p>A DMF baseia-se em três objetos:</p>
<ul>
<li>Facets</li>
<li>Conditions</li>
<li>Policies</li>
</ul>
<p>Facets são os objetos que possuem propriedades e que podem ter regras aplicadas sobre as mesmas. Exemplos de Facets são: Stored Procedures, Tables, Trigger, etc&#8230; Ao todo são 38 Facets.</p>
<p>Para visualizar todas as Facets, vá até o Management Studio, nó &#8220;Management&#8221; e expanda o  nó &#8220;Policy Management&#8221; e em seguida &#8220;Facets&#8221;. Lembrando que as Facets são fixas e não podem ser criadas pelo usuário pois tratam-se de objetos do banco de dados.</p>
<p>Como exemplo, crie uma &#8220;Condition&#8221; com a expressão @Name LIKE &#8216;up_%&#8217;. botão direito do mouse em &#8220;Conditions&#8221;, &#8220;New Condition&#8221;, selecione a Facet &#8220;Stored Procedure&#8221; e dê um nome a condition, exemplo &#8220;Nomenclatura de stored procedure&#8221;.</p>
<p>Depois crie uma Policy que vai associar a Facet à Condition criada, para isso clique com o botão direito do mouse em &#8220;Policies&#8221;, &#8220;New Policy&#8221;. Em seguida selecione a condition na lista de opções &#8220;Check condition&#8221; e na opção &#8220;Evaluation Mode&#8221; selecione &#8220;On change: prevent&#8221;. Ainda nesta janela, para melhorar, vá até a opção &#8220;Description&#8221; (ao lado esquerdo superior)  e na caixa de texto &#8220;Description&#8221; digite um texto que será exibido caso a politica seja violada, ou seja, caso tente-se criar uma stored procedure que não atenda a condição implementada, exemplo do texto &#8220;ATENÇÃO: Por questões de padronização as tabelas só podem ser criadas utilizando-se o prefixo &#8216;ut_&#8217;.&#8221;.</p>
<p>Pronto, à partir de agora é possível manter o padrão de nomenclatura dos objetos do banco de dados.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/marceloneias.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/marceloneias.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/marceloneias.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/marceloneias.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/marceloneias.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/marceloneias.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/marceloneias.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/marceloneias.wordpress.com/129/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/marceloneias.wordpress.com/129/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/marceloneias.wordpress.com/129/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marceloneias.wordpress.com&blog=4335248&post=129&subd=marceloneias&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://marceloneias.wordpress.com/2009/04/11/novidades-sql-server-2008-declarative-management-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e594e63293ad0386a755fe4e870a4b75?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Marcelo Néias</media:title>
		</media:content>
	</item>
		<item>
		<title>Novidades SQL Server 2008 &#8211; Instrução MERGE</title>
		<link>http://marceloneias.wordpress.com/2009/04/11/novidades-sql-server-2008-instrucao-merge/</link>
		<comments>http://marceloneias.wordpress.com/2009/04/11/novidades-sql-server-2008-instrucao-merge/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 04:51:00 +0000</pubDate>
		<dc:creator>marceloneias</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[T-SQL]]></category>
		<category><![CDATA[delete]]></category>
		<category><![CDATA[insert]]></category>
		<category><![CDATA[merge]]></category>
		<category><![CDATA[sql server 2008]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://marceloneias.wordpress.com/?p=112</guid>
		<description><![CDATA[Como certeza uma das maiores novidades do SQL Server 2008 é a instrução MERGE.
Merge significa &#8220;fusão&#8221;, através desta instrução é possível mesclar os dados de duas tabelas em uma tabela alvo.
Imagine que você tenha duas tabelas, uma com o cadastro de funcionários do seu sistema e outra com um segundo cadastro de funcionários que foi [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marceloneias.wordpress.com&blog=4335248&post=112&subd=marceloneias&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Como certeza uma das maiores novidades do SQL Server 2008 é a instrução MERGE.</p>
<p>Merge significa &#8220;fusão&#8221;, através desta instrução é possível mesclar os dados de duas tabelas em uma tabela alvo.</p>
<p>Imagine que você tenha duas tabelas, uma com o cadastro de funcionários do seu sistema e outra com um segundo cadastro de funcionários que foi importado de uma planilha em excel, por exemplo.</p>
<p>Pressupondo que a segunda tabela contém os dados mais atuais, e que você deseja inserir na tabela de funcionários do seu sistema os NOVOS registros que estão na segunda tabela, atualizar os registros da tabela funcionários do seu sistema que existem na segunda tabela e por fim excluir registros da tabela funcionários do seu sistema que não existam na segunda tabela, para isso você pode utilizar a instrução MERGE.</p>
<p>Nas versões anteriores do SQL Server, caso você precisasse realizar este tipo de operação, era necessário realizar uma série de verificações, instruções insert, update e delete, agora você pode fazer tudo isso através da instrução MERGE.</p>
<p>Veja o exemplo do código abaixo:</p>
<pre class="brush: sql;">MERGE tb_Funcionario AS FUN
USING tb_Funcionario_Novos AS FUN_NOVOS
ON FUN.Codigo = FUN_NOVOS.Codigo
WHEN MATCHED THEN -- Se o registro existir na tabela alvo, atualizar
 UPDATE SET
  Nome = FUN_NOVOS.Nome,
  Sobrenome = FUN_NOVOS.Sobrenome,
  Salario = FUN_NOVOS.Salario  
WHEN NOT MATCHED BY TARGET THEN -- Se o registro não existir na tabela alvo, inserir
 INSERT (Codigo, Nome, Sobrenome, Salario)
 VALUES (FUN_NOVOS.Codigo, FUN_NOVOS.Nome, FUN_NOVOS.Sobrenome, FUN_NOVOS.Salario)
WHEN NOT MATCHED BY SOURCE THEN
 DELETE
OUTPUT $action, Inserted.*, Deleted.*;</pre>
<p>Este código faz exatamente como explicado acima, no final a tabela de funcionários do sistema (tb_Funcionario) ficará atualizada, seja com novos registros, com registros pré-existentes atualizados ou registros antigos removidos, tudo com base na segunda tabela (tb_Funcionario_Novos).</p>
<p>A última linha  (código OUTPUT) é opcional, ela retorna:</p>
<ul>
<li>A ação que foi realizada (insert, update ou delete)</li>
<li>Registros com seus valores inseridos/atualizados</li>
<li>Registros com seus valores excluídos</li>
</ul>
<p>Com a instrução MERGE é possível, por exemplo, criar uma stored procedure que recebe como parâmetro valores e estes são inseridos (caso não exista) ou atualizados (caso já exista) , sem que você tenha que realizar verificações com IF.</p>
<p>IMPORTANTE: Ao final da instrução MERGE, não esqueça de fechá-la através do ponto-e-vírgula.</p>
<p>Para mais informações sobre a instrução MERGE, consulte o Books online do SQL Server 2008 através do link <a href="http://msdn.microsoft.com/en-us/library/bb510625.aspx">http://msdn.microsoft.com/en-us/library/bb510625.aspx</a>.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/marceloneias.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/marceloneias.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/marceloneias.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/marceloneias.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/marceloneias.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/marceloneias.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/marceloneias.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/marceloneias.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/marceloneias.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/marceloneias.wordpress.com/112/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marceloneias.wordpress.com&blog=4335248&post=112&subd=marceloneias&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://marceloneias.wordpress.com/2009/04/11/novidades-sql-server-2008-instrucao-merge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e594e63293ad0386a755fe4e870a4b75?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Marcelo Néias</media:title>
		</media:content>
	</item>
		<item>
		<title>Novidades SQL 2008 &#8211; Operadores Atribuição Composta</title>
		<link>http://marceloneias.wordpress.com/2009/04/10/novidades-sql-2008-operadores-atribuicao-composta/</link>
		<comments>http://marceloneias.wordpress.com/2009/04/10/novidades-sql-2008-operadores-atribuicao-composta/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 22:16:59 +0000</pubDate>
		<dc:creator>marceloneias</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[atribuição]]></category>
		<category><![CDATA[composta]]></category>
		<category><![CDATA[operadores]]></category>
		<category><![CDATA[sql server 2008]]></category>

		<guid isPermaLink="false">http://marceloneias.wordpress.com/?p=95</guid>
		<description><![CDATA[ 
Este é mais um novo recurso do SQL 2008 que permite juntar um operador aritmético ( + &#8211; / * ) com o operador de atribuição (=).
Exemplo:
declare @Total Int
set @Total = 5
set @Total *= 2
 Observação: Operadores aritméticos também são chamados de bitwise.
Este é um recurso que já existe em diversas linguagens de programação, tais como [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marceloneias.wordpress.com&blog=4335248&post=95&subd=marceloneias&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p> </p>
<p>Este é mais um novo recurso do SQL 2008 que permite juntar um operador aritmético ( + &#8211; / * ) com o operador de atribuição (=).</p>
<p>Exemplo:</p>
<pre class="brush: sql;">declare @Total Int
set @Total = 5
set @Total *= 2</pre>
<p> Observação: Operadores aritméticos também são chamados de bitwise.</p>
<p>Este é um recurso que já existe em diversas linguagens de programação, tais como C# e Java, as vantagens em utiliza-lo são:</p>
<ul>
<li>Reduz o tempo de processamento de determinadas chamadas</li>
<li>Deixa o código mais legível</li>
<li>Economiza a codificação</li>
</ul>
<p>Abaixo uma tabela com os operadores de atribuição composta com a forma convencional equivalente:</p>
<table class="MsoTableGrid" style="border-bottom:medium none;border-left:medium none;border-collapse:collapse;border-top:medium none;border-right:medium none;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="background-color:transparent;width:47.95pt;border:black 1pt solid;padding:0 5.4pt;" width="64" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><strong><span style="color:#0000ff;">Operador</span></strong></span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:70.85pt;border-top:black 1pt solid;border-right:black 1pt solid;padding:0 5.4pt;" width="94" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><strong><span style="color:#0000ff;">Operação</span></strong></span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:106.35pt;border-top:black 1pt solid;border-right:black 1pt solid;padding:0 5.4pt;" width="142" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><strong><span style="color:#0000ff;">Atribuição composta</span></strong></span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:207.05pt;border-top:black 1pt solid;border-right:black 1pt solid;padding:0 5.4pt;" width="276" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><strong><span style="color:#0000ff;">Forma convencional equivalente</span></strong></span></span></p>
</td>
</tr>
<tr>
<td style="border-bottom:black 1pt solid;border-left:black 1pt solid;background-color:transparent;width:47.95pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="64" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">+=</span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:70.85pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="94" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">Adição</span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:106.35pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="142" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">set @total += 1</span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:207.05pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="276" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">set @total = @total + 1</span></span></p>
</td>
</tr>
<tr>
<td style="border-bottom:black 1pt solid;border-left:black 1pt solid;background-color:transparent;width:47.95pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="64" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">-=</span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:70.85pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="94" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">Subtração</span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:106.35pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="142" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">set @total -= 1</span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:207.05pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="276" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">set @total = @total &#8211; 1</span></span></p>
</td>
</tr>
<tr>
<td style="border-bottom:black 1pt solid;border-left:black 1pt solid;background-color:transparent;width:47.95pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="64" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">*=</span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:70.85pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="94" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">Multiplicação</span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:106.35pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="142" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">set @total *= 1</span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:207.05pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="276" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">set @total = @total * 1</span></span></p>
</td>
</tr>
<tr>
<td style="border-bottom:black 1pt solid;border-left:black 1pt solid;background-color:transparent;width:47.95pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="64" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">/=</span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:70.85pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="94" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">Divisão</span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:106.35pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="142" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">set @total /= 1</span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:207.05pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="276" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">set @total = @total / 1</span></span></p>
</td>
</tr>
<tr>
<td style="border-bottom:black 1pt solid;border-left:black 1pt solid;background-color:transparent;width:47.95pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="64" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">^=</span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:70.85pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="94" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">XOR bit a bit</span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:106.35pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="142" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">set @total ^= 1</span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:207.05pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="276" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">set @total = @total ^ 1</span></span></p>
</td>
</tr>
<tr>
<td style="border-bottom:black 1pt solid;border-left:black 1pt solid;background-color:transparent;width:47.95pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="64" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">&amp;=</span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:70.85pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="94" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">AND bit a bit</span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:106.35pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="142" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">set @total &amp;= 1</span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:207.05pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="276" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">set @total = @total &amp; 1</span></span></p>
</td>
</tr>
<tr>
<td style="border-bottom:black 1pt solid;border-left:black 1pt solid;background-color:transparent;width:47.95pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="64" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">|=</span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:70.85pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="94" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">OR bit a bit</span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:106.35pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="142" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">set @total |= 1</span></span></p>
</td>
<td style="border-bottom:black 1pt solid;border-left:#f0f0f0;background-color:transparent;width:207.05pt;border-top:#f0f0f0;border-right:black 1pt solid;padding:0 5.4pt;" width="276" valign="top">
<p class="MsoNormal" style="line-height:normal;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">set @total = @total | 1</span></span></p>
</td>
</tr>
</tbody>
</table>
<p> </p>
<p>Importante: Só é possível realizar apenas uma atribuição composta a uma mesma variável na mesma linha, o exemplo abaixo não é possível:</p>
<pre class="brush: sql;">set @total += @total -= 2</pre>
<p>Porém, é possível realizar várias atribuições a uma mesma variável utilizando a instrução select, conforme o exemplo abaixo: </p>
<pre class="brush: sql;">SELECT @Total = @Total +1, @Total += 2</pre>
<p> Observação: Neste caso, a atribuição ocorre da esquerda para a direita.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/marceloneias.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/marceloneias.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/marceloneias.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/marceloneias.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/marceloneias.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/marceloneias.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/marceloneias.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/marceloneias.wordpress.com/95/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/marceloneias.wordpress.com/95/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/marceloneias.wordpress.com/95/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marceloneias.wordpress.com&blog=4335248&post=95&subd=marceloneias&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://marceloneias.wordpress.com/2009/04/10/novidades-sql-2008-operadores-atribuicao-composta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e594e63293ad0386a755fe4e870a4b75?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Marcelo Néias</media:title>
		</media:content>
	</item>
		<item>
		<title>Novidades SQL Server 2008 &#8211; Insert com múltiplos valores</title>
		<link>http://marceloneias.wordpress.com/2009/04/10/novidades-sql-2008-insert-com-multiplos-valores/</link>
		<comments>http://marceloneias.wordpress.com/2009/04/10/novidades-sql-2008-insert-com-multiplos-valores/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 18:30:23 +0000</pubDate>
		<dc:creator>marceloneias</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[T-SQL]]></category>
		<category><![CDATA[insert]]></category>
		<category><![CDATA[múltiplos valores]]></category>
		<category><![CDATA[select]]></category>
		<category><![CDATA[sql server 2005]]></category>
		<category><![CDATA[sql server 2008]]></category>
		<category><![CDATA[union all]]></category>

		<guid isPermaLink="false">http://marceloneias.wordpress.com/?p=86</guid>
		<description><![CDATA[ 
Uma grande novidade incorporada na versão do SQL Server 2008 é a possibilidade de realizar um insert com múltiplos valores.
Imagine que você precise criar uma massa de dados para realizar testes por exemplo, que seja necessário incluir uma lista de nomes em uma tabela.
Até a versão do SQL Server 2005 você precisava criar uma instrução [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marceloneias.wordpress.com&blog=4335248&post=86&subd=marceloneias&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p> </p>
<p>Uma grande novidade incorporada na versão do <strong>SQL Server 2008</strong> é a possibilidade de realizar um <span style="text-decoration:underline;">insert com múltiplos valores</span>.</p>
<p>Imagine que você precise criar uma massa de dados para realizar testes por exemplo, que seja necessário incluir uma lista de nomes em uma tabela.</p>
<p>Até a versão do <strong>SQL Server 2005</strong> você precisava criar uma instrução INSERT para cada registro a ser adicionado na tabela, conforme exemplo abaixo:</p>
<pre class="brush: sql;">INSERT INTO tb_Clientes (codigo, nome, sobrenome) VALUES (1,'Joaquim','da Silva')
INSERT INTO tb_Clientes (codigo, nome, sobrenome) VALUES (2,'Maria','Aparecida')
INSERT INTO tb_Clientes (codigo, nome, sobrenome) VALUES (3,'João','Bezerra')
INSERT INTO tb_Clientes (codigo, nome, sobrenome) VALUES (4,'Gomes','da Costa')</pre>
<p> Outra opção seria utilizar o INSERT com o SELECT e UNION ALL:</p>
<pre class="brush: sql;">INSERT INTO tb_Clientes (codigo, nome, sobrenome)
                            SELECT 1,'Joaquim','da Silva'     UNION ALL
                            SELECT 2,'Maria','Aparecida'     UNION ALL
                            SELECT 3,'João','Bezerra'             UNION ALL
                            SELECT 4,'Gomes','da Costa'</pre>
<p>Agora, com este novo recurso trazido pelo SQL Server 2008, é possível realizar um INSERT com múltiplos valores, a situação acima pode ser escrita da seguinte forma:</p>
<pre class="brush: sql;">INSERT INTO tb_Clientes (codigo, nome, sobrenome) VALUES
                            (1,'Joaquim','da Silva' ),
                            (2,'Maria','Aparecida'),
                            (3,'João','Bezerra'),
                            (4,'Gomes','da Costa')</pre>
<p>Melhorou, não!?!?</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/marceloneias.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/marceloneias.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/marceloneias.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/marceloneias.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/marceloneias.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/marceloneias.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/marceloneias.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/marceloneias.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/marceloneias.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/marceloneias.wordpress.com/86/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marceloneias.wordpress.com&blog=4335248&post=86&subd=marceloneias&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://marceloneias.wordpress.com/2009/04/10/novidades-sql-2008-insert-com-multiplos-valores/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e594e63293ad0386a755fe4e870a4b75?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Marcelo Néias</media:title>
		</media:content>
	</item>
		<item>
		<title>Novidades SQL Server 2008 &#8211; Inicialização de variáveis locais</title>
		<link>http://marceloneias.wordpress.com/2009/03/29/novidades-sql-server-2008-inicializacao-de-variaveis-locais/</link>
		<comments>http://marceloneias.wordpress.com/2009/03/29/novidades-sql-server-2008-inicializacao-de-variaveis-locais/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 08:50:12 +0000</pubDate>
		<dc:creator>marceloneias</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[T-SQL]]></category>
		<category><![CDATA[declare]]></category>
		<category><![CDATA[inicialização]]></category>
		<category><![CDATA[novidade]]></category>
		<category><![CDATA[sql 2005]]></category>
		<category><![CDATA[sql 2008]]></category>
		<category><![CDATA[variável]]></category>

		<guid isPermaLink="false">http://marceloneias.wordpress.com/?p=82</guid>
		<description><![CDATA[ 
Uma das novidades no SQL Server 2008 é a declaração e inicialização de variáveis locais.
Até a versão SQL Server 2005, para declarar e inicializar uma variável local eram necessárias duas linhas de código, conforme o exemplo abaixo:
declare @volume int
set @volume = 453
Agora, na versão 2008 é possível declarar e inicializar uma variável local em uma única linha, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marceloneias.wordpress.com&blog=4335248&post=82&subd=marceloneias&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p> </p>
<p>Uma das novidades no <strong>SQL Server 2008</strong> é a <span style="text-decoration:underline;">declaração e inicialização</span> de variáveis locais.</p>
<p>Até a versão SQL Server 2005, para declarar e inicializar uma variável local eram necessárias duas linhas de código, conforme o exemplo abaixo:</p>
<pre class="brush: sql;">declare @volume int
set @volume = 453</pre>
<p>Agora, na versão 2008 é possível declarar e inicializar uma variável local em uma única linha, veja o exemplo abaixo:</p>
<pre class="brush: sql;">declare @volume int = 453</pre>
<p>Se tentarmos fazer o mesmo na versão 2005, por exemplo, teremos a seguinte mensagem de erro:</p>
<p><span style="color:#ff0000;">Msg 139, Level 15, State 1, Line 0<br />
Cannot assign a default value to a local variable.</span> </p>
<p>Podemos utilizar este novo recurso da linguagem T-SQL, que trará produtividade e tornará o código mais limpo, para declaração de múltiplas variáveis:</p>
<pre class="brush: sql;">declare @volume int = 453,
                @setor int = 96,
                @opcao char(1) = 'T'</pre>
<p>Esta é uma dentre várias outras novidades do SQL Server 2008.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/marceloneias.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/marceloneias.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/marceloneias.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/marceloneias.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/marceloneias.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/marceloneias.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/marceloneias.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/marceloneias.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/marceloneias.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/marceloneias.wordpress.com/82/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marceloneias.wordpress.com&blog=4335248&post=82&subd=marceloneias&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://marceloneias.wordpress.com/2009/03/29/novidades-sql-server-2008-inicializacao-de-variaveis-locais/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e594e63293ad0386a755fe4e870a4b75?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Marcelo Néias</media:title>
		</media:content>
	</item>
		<item>
		<title>Orientação Objetos &#8211; Comparação de objetos</title>
		<link>http://marceloneias.wordpress.com/2009/03/27/orientacao-objetos-comparacao-de-objetos/</link>
		<comments>http://marceloneias.wordpress.com/2009/03/27/orientacao-objetos-comparacao-de-objetos/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 17:09:50 +0000</pubDate>
		<dc:creator>marceloneias</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[comparação]]></category>
		<category><![CDATA[igualdade]]></category>
		<category><![CDATA[orientação objeto]]></category>
		<category><![CDATA[valor]]></category>

		<guid isPermaLink="false">http://marceloneias.wordpress.com/?p=39</guid>
		<description><![CDATA[Imagine as seguintes instruções:
Carro meuCarro = new Carro(&#34;Corsa&#34;);
Carro carroVizinho = new Carro(&#34;Corsa&#34;);
Temos dois objetos do tipo Carro (meuCarro e carroVizinho), como estamos passando o mesmo valor (Corsa) ao instanciar os objetos, imaginamos são dois objetos iguais, ou seja, que se tratam do mesmo carro (Corsa)&#8230;.
Ao comparar este dois objetos o resultado será verdadeiro ou falso?
MessageBox.Show(Convert.ToString(meuCarro [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marceloneias.wordpress.com&blog=4335248&post=39&subd=marceloneias&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Imagine as seguintes instruções:</p>
<pre class="brush: csharp;">Carro meuCarro = new Carro(&quot;Corsa&quot;);
Carro carroVizinho = new Carro(&quot;Corsa&quot;);</pre>
<p>Temos dois objetos do tipo Carro (meuCarro e carroVizinho), como estamos passando o mesmo valor (Corsa) ao instanciar os objetos, imaginamos são dois objetos iguais, ou seja, que se tratam do mesmo carro (Corsa)&#8230;.</p>
<p>Ao comparar este dois objetos o resultado será verdadeiro ou falso?</p>
<pre class="brush: csharp;">MessageBox.Show(Convert.ToString(meuCarro == carroVizinho));</pre>
<p><strong>O resultado será falso!!!</strong></p>
<p>A igualdade entre objetos é verdadeira somente se forem a mesma instância e não se tiverem os mesmos dados.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/marceloneias.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/marceloneias.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/marceloneias.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/marceloneias.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/marceloneias.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/marceloneias.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/marceloneias.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/marceloneias.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/marceloneias.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/marceloneias.wordpress.com/39/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marceloneias.wordpress.com&blog=4335248&post=39&subd=marceloneias&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://marceloneias.wordpress.com/2009/03/27/orientacao-objetos-comparacao-de-objetos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e594e63293ad0386a755fe4e870a4b75?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Marcelo Néias</media:title>
		</media:content>
	</item>
		<item>
		<title>Gráficos no .NET</title>
		<link>http://marceloneias.wordpress.com/2009/03/22/graficos-no-net/</link>
		<comments>http://marceloneias.wordpress.com/2009/03/22/graficos-no-net/#comments</comments>
		<pubDate>Sun, 22 Mar 2009 17:04:20 +0000</pubDate>
		<dc:creator>marceloneias</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[chart]]></category>
		<category><![CDATA[gráfico]]></category>

		<guid isPermaLink="false">http://marceloneias.wordpress.com/?p=70</guid>
		<description><![CDATA[Algo que sempre senti falta foi de componentes (free) para implementação de gráficos, desde VB 6 até o .NET, não tinhamos componentes gratuítos disponibilizados pela Microsoft para a construção de gráficos, digo não tinhamos pois, recentemente a Microsoft lançou o &#8220;Microsoft Charting Control&#8221;.
Agora, com este componente conseguimos construir os mais variados tipos de gráficos para nossas aplicações, tanto [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marceloneias.wordpress.com&blog=4335248&post=70&subd=marceloneias&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Algo que sempre senti falta foi de componentes (free) para implementação de gráficos, desde VB 6 até o .NET, não tinhamos componentes gratuítos disponibilizados pela Microsoft para a construção de gráficos, digo não tinhamos pois, recentemente a Microsoft lançou o &#8220;Microsoft Charting Control&#8221;.</p>
<p>Agora, com este componente conseguimos construir os mais variados tipos de gráficos para nossas aplicações, tanto em WinForms como WebForms.</p>
<div class="mceTemp">
<dl class="wp-caption alignleft">
<dt class="wp-caption-dt"><a href="http://marceloneias.files.wordpress.com/2008/11/3dcolumn.png"><img class="size-full wp-image-71  " title="Gráfico de Colunas 3D" src="http://marceloneias.files.wordpress.com/2008/11/3dcolumn.png?w=300&#038;h=225" alt="Gerado pelo Charting Control" width="300" height="225" /></a></dt>
<dd class="wp-caption-dd">Exemplo de gráfico gerado pelo Charting Control</dd>
</dl>
<p>Você consegue utilizar este novo componente somente com o Framework 3.5 SP1 e através do Visual Studio 2008 SP1.</p></div>
<div class="mceTemp">Para começar a construir gráficos em sua aplicação, baixe:</div>
<div class="mceTemp"><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=130f7986-bf49-4fe5-9ca8-910ae6ea442c&amp;DisplayLang=en" target="_blank">Microsoft Chart Controls for .NET Framework 3.5</a></div>
<div class="mceTemp"><a href="http://www.microsoft.com/downloads/details.aspx?familyid=1D69CE13-E1E5-4315-825C-F14D33A303E9&amp;displaylang=en">Microsoft Chart Controls Add-on for VS 2008</a></div>
<div class="mceTemp">Além disso, a Microsoft também disponibilizou:</div>
<div class="mceTemp"><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=EE8F6F35-B087-4324-9DBA-6DD5E844FD9F&amp;displaylang=en">Documentação</a></div>
<div class="mceTemp"><a href="http://code.msdn.microsoft.com/mschart/Release/ProjectReleases.aspx?ReleaseId=1591">Código de exemplos</a> (WinForms e WebForms)</div>
<div class="mceTemp"> </div>
<div class="mceTemp">Após a instalação do componente e do Add-on, você terá no Toolbox do VS 2008, na tab &#8220;Data&#8221;, o componente &#8220;Chart&#8221;, dai para frente é só arrastar para o seu formulário e começar a codificar.</div>
<div class="mceTemp"> </div>
<div class="mceTemp"> </div>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/marceloneias.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/marceloneias.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/marceloneias.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/marceloneias.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/marceloneias.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/marceloneias.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/marceloneias.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/marceloneias.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/marceloneias.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/marceloneias.wordpress.com/70/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marceloneias.wordpress.com&blog=4335248&post=70&subd=marceloneias&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://marceloneias.wordpress.com/2009/03/22/graficos-no-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e594e63293ad0386a755fe4e870a4b75?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Marcelo Néias</media:title>
		</media:content>

		<media:content url="http://marceloneias.files.wordpress.com/2008/11/3dcolumn.png" medium="image">
			<media:title type="html">Gráfico de Colunas 3D</media:title>
		</media:content>
	</item>
		<item>
		<title>Teclas de atalho do Visual Studio 2008</title>
		<link>http://marceloneias.wordpress.com/2008/11/29/teclas-de-atalho-do-visual-studio-2008/</link>
		<comments>http://marceloneias.wordpress.com/2008/11/29/teclas-de-atalho-do-visual-studio-2008/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 15:40:22 +0000</pubDate>
		<dc:creator>marceloneias</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[produtividade]]></category>
		<category><![CDATA[visual studio 2008]]></category>
		<category><![CDATA[teclas]]></category>
		<category><![CDATA[atalho]]></category>
		<category><![CDATA[visual basic]]></category>

		<guid isPermaLink="false">http://marceloneias.wordpress.com/?p=73</guid>
		<description><![CDATA[Aumente sua produtividade, baixe o poster com as teclas de atalho do Visual Studio 2008
 Visual C# 2008
Visual Basic 2008
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marceloneias.wordpress.com&blog=4335248&post=73&subd=marceloneias&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Aumente sua produtividade, baixe o poster com as teclas de atalho do Visual Studio 2008</p>
<p><a href="http://marceloneias.files.wordpress.com/2008/11/sem-titulo.jpg"><img class="size-full wp-image-74 alignleft" title="Atalhos VS 2008 C#" src="http://marceloneias.files.wordpress.com/2008/11/sem-titulo.jpg?w=447&#038;h=240" alt="Atalhos VS 2008 C#" width="447" height="240" /></a> <a href="http://www.microsoft.com/downloads/details.aspx?familyid=E5F902A8-5BB5-4CC6-907E-472809749973&amp;displaylang=en" target="_blank">Visual C# 2008</a></p>
<p><a href="http://www.microsoft.com/downloads/details.aspx?familyid=255B8CF1-F6BD-4B55-BB42-DD1A69315833&amp;displaylang=en" target="_blank">Visual Basic 2008</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/marceloneias.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/marceloneias.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/marceloneias.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/marceloneias.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/marceloneias.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/marceloneias.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/marceloneias.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/marceloneias.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/marceloneias.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/marceloneias.wordpress.com/73/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=marceloneias.wordpress.com&blog=4335248&post=73&subd=marceloneias&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://marceloneias.wordpress.com/2008/11/29/teclas-de-atalho-do-visual-studio-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e594e63293ad0386a755fe4e870a4b75?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Marcelo Néias</media:title>
		</media:content>

		<media:content url="http://marceloneias.files.wordpress.com/2008/11/sem-titulo.jpg" medium="image">
			<media:title type="html">Atalhos VS 2008 C#</media:title>
		</media:content>
	</item>
	</channel>
</rss>