The following statement makes this record unupdatable.
Code
Update Mw_log
Set QW = ( Select Sum (QW) Sm
From Mw_log
Where MC ! = ' Total '
And LB = ' A '
And To_char (RQ, ' Yyyy-mm ' ) = ' 2009-01 ' ),
ZD = ( Select Sum (ZD) Sm
From Mw_log
Where MC ! = ' Total '
And LB = ' A '
And To_char (RQ, ' Yyyy-mm ' ) = ' 2009-01 ' ),
GD = ( Select Sum (GD) Sm
From Mw_log
Where MC ! = ' Total '
And LB = ' A '
And To_char (RQ, ' Yyyy-mm ' ) = ' 2009-01 ' ),
GX = ( Select Sum (Gx) Sm
From Mw_log
Where MC ! = ' Total '
And LB = ' A '
And To_char (RQ, ' Yyyy-mm ' ) = ' 2009-01 ' ),
YN = ( Select Sum (Yn) Sm
From Mw_log
Where MC ! = ' Total '
And LB = ' A '
And To_char (RQ, ' Yyyy-mm ' ) = ' 2009-01 ' ),
GZ = ( Select Sum (GZ) Sm
From Mw_log
Where MC ! = ' Total '
And LB = ' A '
And To_char (RQ, ' Yyyy-mm ' ) = ' 2009-01 ' ),
Hn = ( Select Sum (HN) Sm
From Mw_log
Where MC ! = ' Total '
And LB = ' A '
And To_char (RQ, ' Yyyy-mm ' ) = ' 2009-01 ' )
Where LB = ' A '
And MC = ' Total '
And To_char (RQ, ' Yyyy-mm ' ) = ' 2009-01 '
Later, I checked the above and estimated that the record was locked. Why?
Use select * from V $ open_cursor where SQL _text like '% table name %' to search for 36 good examples .........
What should I do? Continue searching and finally find out
Code
Select /* + Rule */
S. username,
Decode (L. type, ' TM ' , ' Table lock ' , ' TX ' , ' Row lock ' , Null ) Lock_level,
O. Owner,
O. Object_name ,
O. object_type,
S. Sid,
S. Serial #,
S. Terminal,
S. machine,
S. program,
S. osuser
From V $ session S, V $ lock l, dba_objects o
Where L. Sid = S. Sid
And L. id1 = O. Object_id ( + )
And S. Username Is Not Null
I found that the record was locked, so I had to use alter system kill session '100 42 'to kill it.