Det här funkar inte så bra, värdena ska byta plats, söker en bättre lösning där satserna är sammanslagen i en tex..någon med förslag? Du får nog skriva en lagrad procedur för att lösa detta problemet. Eftersom du har två where-satser så kan detta inte användas som en vanlig update-sats. Kanske kan detta fungera... Hej Jonas Tack så mkt för hjälpen till Er båda.. Håller med om att det borde ligga i en lagrad procedur, håller på att lära mig srkiva dem och försöker få grepp om T-SQL. Ni vet ingen bra T-SQL sida? http://www.sqlteam.comSQL - Söker bättre lösning !
Dim myUpdateStr As String = "UPDATE tblInkHandelseKedjor SET intOrdning = '" & firstO.ToString() & "' WHERE intHandelseKedjorID = '" & idToToggle2.ToString() & "'"
Dim myUpdateStr2 As String = "UPDATE tblInkHandelseKedjor SET intOrdning = '" & secO.ToString() & "' WHERE intHandelseKedjorID = '" & idToToggle1.ToString() & "'"Sv: SQL - Söker bättre lösning !
Sv: SQL - Söker bättre lösning !
<code>
Dim myUpdateStr As String = "UPDATE tblInkHandelseKedjor SET intOrdning = CASE intHandelseKedjorID WHEN '" & idToToggle2.ToString() & "' THEN '" & firstO.ToString() & "' WHEN '" & idToToggle1.ToString() & "' THEN '" & secO.ToString() & "'"
</code>Sv: SQL - Söker bättre lösning !
Jag ver inte om jag riktigt förstod vad du var ute efter, men om du bara
ville byta plats på två värden i en tabell kan du ju göra en SELECT för att
spara det första värdet i en variabel. Sedan en UPDATE för att ersätta det första med
det andra och sedan en UPDATE för att ersätta det andra med den sparade
variabeln. Det är OK om helt säkert vet att inga ändringar görs i tabellen den
korta tid som finns mellan operationerna. Det bästa är därför att göra en
procedur där dom bägge operationerna ingår i en transaktion. Att göra lagrade
procedurer är inte svårt för en programmerare.
Jag anser att man ska göra procedurer av alla tillståndsförändringar, dvs
UPDATE, INSERT och DELETE. Det ger en extra abstraktionsnivå och gör
koden mycket lättare att läsa. Dessutom kan man kompilera om en
procedur( som ju lagras i databasen ) utan att kompilera om och distribuera
om klientprogrammet. Inbäddad SQL i t ex java och VB är besvärlig att
läsa och debugga. Procedurer kan ju testas separat i själva databasen.
Jag anser för övrigt att dom flesta( om inte alla ) SELECT-satser ska
göras från VYER. Då slipper man WHERE-satser i klientkoden och dessutom
kan vyerna också byggas om i själva databasen samt leder till "renare"
klientkod
Bästa Hälsningar
Folke LarssonSv: SQL - Söker bättre lösning !
Sv: SQL - Söker bättre lösning !
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnanchor/html/sqlserver2000.asp