SQL Update

Instrucció UPDATE
Definició
Canvia les dades d'una taula o vista.

 UPDATE objecte SET {nom columna = {expressió | DEFAULT | NULL} | @ variable = expressió | @ variable = columna = expressió} [, ... n] [FROM {} [, ... n]] [WHERE {   }]

Descripció de les clàusules

  • SET: Especifica la llista de noms de variable o de columna que es van a actualitzar.
  • Nom Columna: És una columna que conté les dades que es canviaran. Ha d'existir en la taula o vista. Les columnes d'identitat o columnes calculades no es poden actualitzar.
  • Expressió: És una variable, un valor literal, una expressió o una instrucció de subselecció entre parèntesis que retorna un sol valor. El valor retornat per l'expressió substitueix al valor existent a la columna o variable.
  • DEFAULT: Especifica que el valor predeterminat definit per la columna ha de reemplaçar al valor existent en aquesta columna. Aquesta operació també es pot utilitzar per canviar la columna a nul si no té assignat cap valor predeterminat i està configurat per acceptar valors nuls.
  • FROM: Especifica que s'utilitza un origen de taula, vista o taula derivada per proporcionar els criteris de l'operació d'actualització. Si l'objecte que s'actualitza és el que s'indica a la clàusula FROM i només hi ha una referència a l'objecte-hi, pot especificar o no un àlies d'objecte. Si l'objecte que s'actualitza apareix més d'una vegada en la clàusula FROM, una única referència a l'objecte no ha d'especificar un àlies de taula. Totes les altres referències a fi de la clàusula FROM han d'incloure un àlies d'objecte.
  • WHERE: especifica les condicions que limiten les files que s'actualitzen. El seu ús és important ja que si no tots els registres de la taula o vista reben la modificació.

Exemples
a. Actualitza tots els registres de la taula SalesPerson.

 UPDATE Sales.SalesPerson SET Bonus = 6000, CommissionPct = 10, SalesQuota = NULL

b. Actualitza només els registres el nom comença amb Road-250 i són de color vermell. La modificació mostra com utilitzar valors calculats.

 UPDATE Production.Product SET ListPrice = ListPrice * 2 WHERE Name LIKE N'Road-250% 'AND Color = N'Red'

c. Modifica la columna SalesYTD de la taula SalesPerson per reflectir les vendes més recents registrades a la taula SalesOrderHeader.

 UPDATE Sales.SalesPerson SET SalesYTD = SalesYTD + Subtotal FROM Sales.SalesPerson AS sp INNER JOIN Sales.SalesOrderHeader AS so ON sp.SalesPersonID = so.SalesPersonID
 AND so.OrderDate = (SELECT MAX (OrderDate) FROM Sales.SalesOrderHeader WHERE SalesPersonID = sp.SalesPersonID)

4 Responses to "SQL Update"

  1. Informació Bitacoras.com ...

    Valora en Bitacoras.com: Instrucció UPDATE Definició Canvia les dades d'una taula o vista. UPDATE objecte SET {nom columna = {expressió | DEFAULT | NULL} | @ variable = expressió | @ variable = columna = expressió} [,? N] [FROM {} [,? N]] .....

  2. Maggi diu:

    Que tal em trobat amb aquest lloc i m'ha agradat el que he trobat, i ara estic treballant amb Visual Studio 2010 (. NET) i SQL Server 2008

    Però tinc complicacions i voldria veure si puc comptar amb el seu suport i aclarir els meus dubtes

    Per que no puc anomenar el stored procedure (UPDATE)

  3. [...] This post was Twitted by solovb [...]

Comentar