espressione di modifica RIGA

Un'espressione ROW CHANGE restituisce un token o una registrazione data / ora che rappresenta l'ultima modifica di una riga.

row-change-expression
Read syntax diagramSkip visual syntax diagramROW CHANGETOKENTIMESTAMPFORtable-designator
TOKEN
Specifica che deve essere restituito un valore BIGINT che rappresenta un punto relativo nella sequenza di modifica di una riga. Se la riga non è stata modificata, il risultato è un token che rappresenta quando è stato inserito il valore iniziale. Il risultato può essere nullo. ROW CHANGE TOKEN non è deterministico.
DATA/ORA
Specifica che deve essere restituito un valore TIMESTAMP che rappresenta l'ultima volta che una riga è stata modificata. Se la riga non è stata modificata, il risultato è il tempo in cui è stato inserito il valore iniziale. Il risultato può essere nullo. ROW CHANGE TIMESTAMP non è deterministico.
PER tavolo - designatore
Identifica la tabella in cui si fa riferimento all'espressione. Il table - designator deve identificare in modo univoco una tabella di base, una vista o un'espressione della tabella nidificata (SQLSTATE 42867). Se table - designator identifica una vista o un'espressione di tabella nidificata, l'espressione ROW CHANGE restituisce il TOKEN o TIMESTAMP della tabella base della vista o dell'espressione della tabella nidificata. L'espressione della tabella vista o nidificata deve contenere una sola tabella di base nella sua sottoselezione esterna (SQLSTATE 42867). Se il table - designator è una vista o un'espressione di tabella nidificata, deve essere deleterio (SQLSTATE 42703). Per informazioni sulle viste eliminabili, consultare la sezione Note di CREATE VIEW. Il designatore della tabella di un'espressione ROW CHANGE TIMESTAMP deve essere risolto in una tabella di base che contiene una colonna di registrazione data modifica riga (SQLSTATE 55068).

Note

  • ROW CHANGE TOKEN e ROW CHANGE TIMESTAMP non sono espressioni valide per una tabella Colonna - organizzata (SQLSTATE 42703).

Esempi

  • Restituire un valore di registrazione data / ora che corrisponde alla modifica più recente ad ogni riga dal tavolo EMPLOYEE per i dipendenti del dipartimento 20. Ipotizza che la tabella EMPLOYEE sia stata alterata per contenere una colonna definita con la clausola ROW CHANGE TIMESTAMP.
       SELECT ROW CHANGE TIMESTAMP FOR EMPLOYEE
         FROM EMPLOYEE WHERE DEPTNO = 20
  • Restituire un valore BIGINT che rappresenta un punto relativo nella sequenza di modifica della riga corrispondente al numero di matricola 3500. Inoltre restituire il valore funzione scalare RID_BIT che deve essere utilizzato in uno scenario di blocco ottimistico di blocco. Specificare l'opzione CON UR per ottenere l'ultimo valore ROW CHANGE TOKEN.
       SELECT ROW CHANGE TOKEN FOR EMPLOYEE, RID_BIT (EMPLOYEE)
         FROM EMPLOYEE WHERE EMPNO = '3500' WITH UR
    L'istruzione precedente riesce a verificare se c'è o meno una colonna di registrazione della data di modifica della riga nella tabella EMPLOYEE. La seguente istruzione DELETE ricercata cancella la riga specificata dai valori ROW CHANGE TOKEN e RID_BIT dalla precedente istruzione SELECT, ipotizzando che i due valori di marker di parametro siano impostati sui valori ottenuti dall'istruzione precedente.
       DELETE FROM EMPLOYEE E
         WHERE RID_BIT (E) = ? AND ROW CHANGE TOKEN FOR E = ?