An UPDATE statement with top : Update « Insert Delete Update « SQL Server / T-SQL Tutorial





6> create table Billings (
7>     BankerID           INTEGER,
8>     BillingNumber      INTEGER,
9>     BillingDate        datetime,
10>     BillingTotal       INTEGER,
11>     TermsID            INTEGER,
12>     BillingDueDate     datetime ,
13>     PaymentTotal       INTEGER,
14>     CreditTotal        INTEGER
15>
16> );
17> GO
1>
2> INSERT INTO Billings VALUES (1, 1, '2005-01-22', 165, 1,'2005-04-22',123,321);
3> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (2, 2, '2001-02-21', 165, 1,'2002-02-22',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (3, 3, '2003-05-02', 165, 1,'2005-04-12',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (4, 4, '1999-03-12', 165, 1,'2005-04-18',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (5, 5, '2000-04-23', 165, 1,'2005-04-17',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (6, 6, '2001-06-14', 165, 1,'2005-04-18',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (7, 7, '2002-07-15', 165, 1,'2005-04-19',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (8, 8, '2003-08-16', 165, 1,'2005-04-20',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (9, 9, '2004-09-17', 165, 1,'2005-04-21',123,321);
2> GO

(1 rows affected)
1> INSERT INTO Billings VALUES (0, 0, '2005-10-18', 165, 1,'2005-04-22',123,321);
2> GO

(1 rows affected)
1>
2> UPDATE Billings
3> SET CreditTotal = CreditTotal + 100
4> FROM
5>    (SELECT TOP 10 BankerID
6>     FROM Billings
7>     WHERE BillingTotal - PaymentTotal - CreditTotal >= 100
8>     ORDER BY BillingTotal - PaymentTotal - CreditTotal DESC) AS TopBillings
9> WHERE Billings.BankerID = TopBillings.BankerID
10>
11> GO

(0 rows affected)
1>
2>
3> drop table Billings;
4> GO










2.5.Update
2.5.1.The syntax of the UPDATE statement
2.5.2.Syntax of UPDATE with a Join
2.5.3.An UPDATE statement that updates all the Billings for a Banker based on the Banker's name
2.5.4.An UPDATE statement that changes the terms of all Billings for Bankers in three states
2.5.5.Limiting Rows to Be Updated
2.5.6.Assigning Update Values Using Subqueries
2.5.7.An UPDATE statement that uses an arithmetic expression to assign a value to a column
2.5.8.Updating using two subqueries.
2.5.9.Updating Data Using the CASE Expression
2.5.10.An UPDATE statement that assigns the maximum due date in the table to a specific Billing
2.5.11.Violating the constraint in an update statement
2.5.12.SET other columns to their default value
2.5.13.Change the phone number of authors living in Gary, IN, back to the DEFAULT value
2.5.14.An UPDATE statement with top
2.5.15.Update table in a transaction
2.5.16.Updating Large Value Data Type Columns with WRITE