update

Description

Modifies data in rows of a table.

Syntax

exec sql [at connection_name] update table_name 
 set [table_name] 
     column_name1 = {expression1 
         | NULL | (select_statement)}
     [, column_name2 =
     {expression2 | NULL
         | (select_statement)}]… 
 [from table_name 
     [, table_name]… 
 [where {search_conditions | current of cursor_name}]
 end-exec

Parameters

table_name

The name of a table or view, specified in any format that is valid for the update statement in Transact-SQL.

Examples

Example 1

 EXEC SQL BEGIN DECLARE SECTION END-EXEC.
           01     STORE-NAME        PIC X(40).
           01     DISC-TYPE         PIC X(40).
           01     LOWQTY            PIC S9(9) COMP.
           01     HIGHQTY           PIC S9(9) COMP.
           01     DISCOUNT          PIC S9(9) COMP.
      EXEC SQL END DECLARE SECTION END-EXEC.
 
           ...
 
      EXEC SQL DECLARE upd_cursor CURSOR FOR
           SELECT s.stor_name, d.discounttype, d.lowqty,
                  d.highqty  , d.discount
           FROM   stores    s, discounts d
           WHERE  s.stor_id  = d.stor_id END-EXEC.
 
      EXEC SQL OPEN upd_cursor END-EXEC.
      PERFORM FETCH-LOOP UNTIL SQLCODE = 100.
      EXEC SQL CLOSE upd_cursor END-EXEC.
      EXEC SQL DEALLOCATE CURSOR upd_cursor END-EXEC.
      EXEC SQL COMMIT WORK END-EXEC.
 
           ...
 
 
      FETCH-LOOP.
 EXEC SQL FETCH upd_cursor INTO :STORE-NAME, :DISC-TYPE,:LOWQTY      ,
:HIGHQTY,:DISCOUNT  END-EXEC.
           IF SQLCODE = 100
                DISPLAY "NO MORE RECORDS TO FETCH. END OF PROGRAM RUN."
           ELSE
      DISPLAY "NEW DISCOUNT : "
                ACCEPT DISCOUNT
                EXEC SQL UPDATE discounts
                    SET discount = :DISCOUNT
                     WHERE CURRENT OF upd_cursor END-EXEC
           END-IF.
      END-FETCH-LOOP.

Usage

See also

close, delete cursor, fetch, open, prepare