>alex perdonami ma uso vb 2005 solo da 4 mesi e nn lo conosco
>proprio bene....
>Le tabelle le ho create graficamente tramite il vb.net, adesso
>nn so dv si trovano gli script che sono stati usati x creare
>le tabelle
>e l'sql solo da 2 mesi perciò fai un po te
>cm dv fare?
ok, proviamo con un esempio. Intanto provo a descriverti qualche concetto ..
Scenario: Due tabelle, una da cui ricavo il valore da ridurre ed una su cui eseguire l'aggiornamento:
USE tempdb;
GO
-- tabella sorgente (valore da sottrarre)
CREATE TABLE Sorgente
(
id int PRIMARY KEY CLUSTERED,
valore int NOT NULL
)
GO
INSERT INTO Sorgente (id, valore)
SELECT 1, 10
GO
-- tabella destinazione (campi da modificare)
CREATE TABLE Destinazione
(
id int IDENTITY(1,1) PRIMARY KEY CLUSTERED,
valore int NOT NULL,
codice char(2) NOT NULL
)
GO
INSERT INTO Destinazione (valore, codice)
SELECT 100, 'AA'
INSERT INTO Destinazione (valore, codice)
SELECT 50, 'BB'
INSERT INTO Destinazione (valore, codice)
SELECT 20, 'BB'
INSERT INTO Destinazione (valore, codice)
SELECT 100, 'BB'
INSERT INTO Destinazione (valore, codice)
SELECT 100, 'CC'
GO
-- risultari prima dell'update
SELECT * FROM Destinazione
DECLARE @ValoreDaSottrarre int
-- prendo il valore da usare per un aggiornamento
SELECT
@ValoreDaSottrarre = valore
FROM
Sorgente
WHERE
id = 1
SELECT @ValoreDaSottrarre AS ValoreDaSottrarre
--
-- Update che dovrebbe risolverti il problema ;-)
UPDATE
Destinazione
SET
valore = valore - @ValoreDaSottrarre
WHERE
codice = 'BB'
-- risultari dopo l'update
SELECT * FROM Destinazione
-- pulizia
DROP TABLE Sorgente
DROP TABLE Destinazione
Ora, prendendo spunto dall'istruzione, puoi fare una update parametrica, impostando il command.
Se ti manca qualcosa fatti sentire
Alx81 =)
http://blogs.dotnethell.it/suxstellino