CREARE QUERI DI INSERIMENTO O AGGIORNAMENTO DATI

giovedì 13 gennaio 2011 - 17.11
Tag Elenco Tags  Windows Server 2008 R2  |  Visual Studio 2008  |  SQL Server 2008  |  Office 2010  |  Powershell

danygoal Profilo | Newbie

Salve a tutti. Da poco mi sono dato al SQL. Chiedo gentilmente chiarezza su una mia problematica.
Ho 2 tabelle in un database su SQL Server 2008 Express. In una tabella sono presenti i listini di un articolo mentre l'altra è vuota e va popolata dalla sorgente.
Questa operazione devo farla ogni 3 mesi. In realtà dovrei importare dati da Excel ma non essendo riuscito a farlo ho importato il file di exel su sql server utilizzando le procedure guidate e mi sono creato una tabella nuova chiamata GROSS.

Sono riuscito a fare l'import degli articoli ma non so fare l'update. Vorrei che quando lancio la query mi venga controllato l'esistenza o meno del codice articolo, se presente mi aggiorna il solo prezzo se inesistente mi inserisca l'articolo nuovo.
Questa è la query di inserimento che ho fatto:

use NOME DATABASE
go

select dbo.AROther.Cd_AROther,
dbo.AROther.Descrizione,
dbo.AROther.Cd_ARMisura,
dbo.AROther.Prezzo

from dbo.AROther
left join
dbo.ARAlias on dbo.AROther.Cd_AROther = dbo.ARAlias.Cd_AR

--questa left join l'ho dovuta usare per vincoli sul database ---

insert into dbo.AROther (Cd_AROther,Descrizione, Cd_ARMisura, Prezzo)
select gross.Codice, gross.Descrizione, 'NR', gross.prezzo)
from dbo.gross
where dbo.gross.[prezzo] is not null
--- il controllo su prezzo l'ho dovuto fare xchè non volevo importare valori nulli.



QUALCUNO DI VOI ESPERTI PUO' GENTILMENTE AIUTARMI??? GRAZIE

lbenaglia Profilo | Guru

>QUALCUNO DI VOI ESPERTI PUO' GENTILMENTE AIUTARMI??? GRAZIE

Ciao,

Senza la strutura delle tabelle (CREATE TABLE), alcune righe di prova (INSERT INTO) ed il risultato atteso è un po' difficile fornire risposte precise.
Il suggerimento che ti posso dare è quello di studiare il funzionamento del comando MERGE:
http://technet.microsoft.com/it-it/library/bb510625.aspx

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5