Update

Microsoft SQL Server 2012 SP4 liberado

Anunciado no final de junho pela Microsoft, o SQL Server 2012 SP4 (Service Pack 4) foi disponibilizado para download nesta semana pela empresa. O Feature Pack e a versão Express com o SP4 também estão disponíveis. SQL Server 2012 SP4 … Continuar lendo

Identificando a data do último update em uma tabela

Recentemente um aluno me perguntou como poderia identificar quando ocorreu uma atualização em uma tabela. Para ajudá-lo, recomendei utilizar a dynamic management view (DMV) sys.dm_db_index_usage_stats. Essa dmv retorna a contagem de índices e a data e hora da última operação realizada. Vamos ao teste. Primeiro, vamos criar uma tabela chamada dbo.Tabela1: CREATE DATABASE DBTESTE GO…

Conhecendo o Live Query Statistics no Microsoft SQL Server 2016

Salve, salve galera, bom dia….. Ufa, sexta – feira!!!! Para terminar mais uma semana de muito trabalho, gostaria de compartilhar com vocês mais uma novidade que o Microsoft SQL Server 2016 esta nos apresentando, conhecida como Live Query Statistics. Quando eu ouvi ao sobre esta funcionalidade sinceramente não acreditei, mas é verdade, alias uma grande […]

Conhecendo o Live Query Statistics no Microsoft SQL Server 2016

Salve, salve galera, bom dia….. Ufa, sexta – feira!!!! Para terminar mais uma semana de muito trabalho, gostaria de compartilhar com vocês mais uma novidade que o Microsoft SQL Server 2016 esta nos apresentando, conhecida como Live Query Statistics. Quando eu ouvi ao sobre esta funcionalidade sinceramente não acreditei, mas é verdade, alias uma grande […]

Update com Join no Oracle

Olá amigos(as),

     Se você assim como eu, está passando por uma transição do SQL Server para o Oracle, deve ter se deparado com algumas particularidades na hora de construir suas queries. Algumas coisas que eu fazia no SQL Server a nível de sintaxe, são um pouco diferentes no Oracle e para quem não esta familiarizado com isso, acaba apanhando um pouco, como tem acontecido comigo. Então, para compartilhar esse meu aprendizado, vou postar aqui coisas que eu fazia no SQL Server e no Oracle são diferentes, vai servir como um repositório de consulta para mim mesmo :).

     Uma coisa que precisei recentemente, foi fazer um update em uma tabela "X" cruzando os dados com uma tabela "Y", já estava cansado de fazer isso no SQL Server e quando precisei no Oracle, fui todo "marrento" executar minha instrução, que para minha decepção não funcionou.

----------------------------------------
--Como eu fazia no SQL Server
----------------------------------------
UPDATE TABELA_X
SET COD_CAMPO = B.COD_CAMPO
FROM TABELA_X A
INNER JOIN TABELA_Y B
ON A.COD_CAMPO_XYZ = B.COD_CAMPO_XYZ AND A.NOME_CAMPO_XYZ = A.NOME_CAMPO_XYZ

Depois de pesquisar um pouco, achei algumas soluções que me servirão para solucionar meu problema, então segue a mesma aqui.

--------------------------------------------------------------------------------------
-- Como deve ser feito no Oracle
-- Podem existir outras formas, mas para mim funcionou essa ai abaixo
--------------------------------------------------------------------------------------

MERGE INTO OWNER.TABELA_X A
USING OWNER.TABELA_Y B
ON(A.COD_CAMPO_XYZ = B.COD_CAMPO_XYZ AND A.NOME_CAMPO_XYZ = A.NOME_CAMPO_XYZ)
WHEN MATCHED THEN
     UPDATE
     SET COD_CAMPO = B.COD_CAMPO;


Observações: 
  1. Utilizei essa querie no Oracle 11g com o PL/SQL Developer.
  2. O OWNER é o dono da tabela, no SQL Server você não precisa informar este tipo de dado, isso é transparente para nós, já no Oracle isso é necessário, principalmente quando as tabelas são de OWNER's diferentes, como é o meu caso. 
  3. Outro detalhe, o ponto e virgula não está na instrução do Oracle apenas como enfeite, ele serve para diferenciar uma instrução de outra, caso exista.

Espero poder ajudar quem assim como eu, ficou batendo cabeça com coisas simples e o Oracle te negando um update :).

Documentação oficial Oracle:
UPDATE
<http://docs.oracle.com/cd/E11882_01/server.112/e10592/statements_10008.htm#SQLRF01708>

MERGE
<http://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_9016.htm>


Até a próxima.

Material de Apoio – Fevereiro – 2015

Hello comunidade, bom dia. Graças a deus esta chovendo, que alegria….. Aproveitando o embalo das águas, estou novamente aqui no meu blog para compartilhar com vocês mais alguns arquivos da minha galeria neste sessão intitulada Material de Apoio!!! Esta sessão em conjunto com a Short Scripts são as que mais apresentam interesse dos visitantes no modo […]

SQL Server 2008 Service Pack 3 Cumulative Update 9

  Saiu o Service Pack 3 Cumulative Update 9 para o SQL Server 2008 que deixará seu SQL na versão 10.00.5829. Segundo o KB da Microsoft, são 3 fixes:           VSTS bug KB article Description 1131071 2802244 FIX: Installation or upgrade process fails when you install or upgrade a SQL Server 2008 clustered instance on mount points 1145633 2791745 FIX: Access violation when you run a query that contains many constant values in an IN clause in SQL Server 2008 1113313 2780146 FIX: "Incorrect syntax near

Leia mais...

SQL Server 2012 Service Pack 1 CU1

Saiu mais uma atualização para o SQL Server 2012. Agora é o SQL Server 2012 Service Pack 1 CU1 que deixará seu SQL Server na versão 11.0.3321.0.   Segundo as contas do Glenn Berry são 44 fixes neste Cumulative Update e é necessário ter o...

Update Statistics quando vai acontecer?

0
Como todo o bom DBA você tem um plano de manutenção configurado para seu ambiente SQL. Você costuma fazer rebuild/reindex, update statistics, backup, garante que o HA está funcionado,,, Você provavelmente deve ter a opção de “auto update statistics” habilitada em suas bases e sabe como ela funciona,,, certo? Bom,,, no bom e velho “by … Continue a leitura »

Resposta – Script Challenger – Número 9

0
Resposta - Script Challenger - Número 9.
Go to Top