FOR UPDATE with group functions
Hi,
Is it possible to have a select .. FOR UPDATE and in that select using group by and having count? If so, where should be placed the FOR UPDATE clause?
Thanks
Hi,
Update and FOR Update are different functinalities of Oracle.
Update as name suggest :- update Database records based on the condition we give.
For Update :- It donot update any Database records, it helps to lock set of columns. we generally use FOR Update in Select query.
Please refer below link for better understanding on FOR UPDATE function
http://download.oracle.com/docs/html/B10952_01/o4o00091.htm
Similar Messages
-
SM30 and for updating material groups.
Hi,
what is the table for updating with trx SM30 material groups?
Best regardsHi,
Try table T023.It may workout.
Regards,
Rambhupal reddy -
SELECT FOR UPDATE with the SKIP LOCK clause
Hi,
I have a query regarding the SELECT FOR UPDATE with the SKIP LOCK clause.
Whether this will be really good for parallel processing.
Also if we are selecting a set of records in a cursor whether the lock will be done at the records level once we fetch the records?
Also do we have any known issues with this one?
We are trying to figure out whether this will fit for business requirement, we are trying to do a implement a threading kind of thing for our stored procedure invocation in background using shell script.
Any suggestion or feedback on this will be helpful for us.
Thanks a lot for the support given....
Regards,
Basil Abraham.http://www.oracle.com/technology/oramag/oracle/08-mar/o28plsql.html
Please read the above thread for few information...Thanks! -
I don't use Photoshop, I'm an Aperture guy.
I'm looking for software with similar functionality to Photoshop's Pixelbender / Oil Painting.
I'm especially interested in the bending of the pixels, along the lines of impressionist paintings - think van Gogh.
Any suggestions?If you are interested in computer simulated drawing and painting effects, have a look at the "ToonIt!" plug-in for Aperture. This will do some of the basic work for you, but you will have to do quite a lot of editing afterwards, to turn the image into a piece of art.
It might be easier, to do most of the drwing and painting yourself in the first place - ArtRage Deluxe is very versatile, if you have a large trackpad and pen.
For example: Applying a light ToonIt! effect "Impressionist2": The diagonal
cross-pattern is due to "Demo" mode - I have not yet bought the plug-in - it is rather expensive:
The original: -
Windows Update failed to check for updates with error 0x800B0001
Hi all,
I have a WSUS installed on a Windows Server 2008 R2 box, I have a new Windows Server 2012 box (joined to domain) that cannot get updates from the WSUS, whenever I try to search for new updates I receive the following error in event viewer:
Windows Update failed to check for updates with error 0x800B0001
Note: I cannot see the Win2K12 server in the WSUS console under computers node.I couldn't get it to run even after installing the mentioned KB fixes. So I investigated the error myself, and found a "hack" that seems to fix the issue. Wrote up a small piece on it here:
http://tplive.azurewebsites.net/2013/12/windows-update-error/
You and about a thousand other people have reported "I had already installed [the update], but installing it AGAIN fixed the problem.", which is almost assuredly a simple indication that the original installation of the update failed, and you simply did
not recognize that the installation of the update was not successful.
The fact that the /selfupdate folder was corrupted (read: missing files) pretty much says it all. There's no bug. Your installation of the update simply failed. (Or, the server wasn't healthy to begin with and you got what you got.)
Bottom line: The only known cause for a client-side 0x800B0001 error code is that the WSUS server has not been
properly and completely patched.
Lawrence Garvin, M.S., MCITP:EA, MCDBA, MCSA
SolarWinds Head Geek
Microsoft MVP - Software Packaging, Deployment & Servicing (2005-2013)
My MVP Profile: http://mvp.microsoft.com/en-us/mvp/Lawrence R Garvin
http://www.solarwinds.com/gotmicrosoft
The views expressed on this post are mine and do not necessarily reflect the views of SolarWinds. -
I hv iPhone with ios 6.0.2
My iphone could not able to check for update…it’s just showing “checking for updates” with loading sign
How can I upgrade to ios 7?
Help plsI agree- I apologize if I sounded skeptical and attacking. In no way did I mean it to sound that way.
I completely agree on the software-hardware combo issue- this is why apple killed off 1G and 2G devices- because newer software revisions would never ever run well if at all on such ancient devices. can you imagine running iOS 6 on an iPhone/iPod touch 1G? That would be terrible. Let alone iOS 3 runs terrible on them and now are generally rendered useless due to newer App Store requirements (most require 4.3+ now to allow apple to kill off the older devices). forcing newer software on older hardware (apple, dell, HP,... Anything electronic this definitely applies to) will almost always yield less-than-par results. The other part is apple forcing you to upgrade by means of intentially making things obsolete. all companies do that.
All of this factual info aside, the issue at hand with the 5 is not a software-hardware combo problem- those are most widely seen with the major revisions. then again, this isn't the first time apple has gotten caught up in battery drain snafus (even iOS 5 was plagued with this as well- and now there are some people desperate to roll back but can't). it basically waters it down to the point where keeping the stock software will always yield the best results even though newer versions provide better features- it all depends on whether or not the person deems the added features are worth a performance hit.
PS. I'm still at 100%- and I've been using it periodically throughout the day. your combo worked for you, but didn't for me. And may or may not work for others- As the tech world would say, mileage may vary.
PSS. What model/carrier do you have? Just wondering. -
Oracle 11g: update with group by
DB. 11.2.0.2.0
Hello
This feels as though it should be simple. The below code tries to update the Activities table with the sum of staff hours (worked out from two other tables).
The select works fine:
select a.activities_id, sum((t.st_proportion*s.staff_time)*7*(t.st_enddate-t.st_startdate)/100)
from aa_wl_activities3 a
join aa_wl_stafftime2 t
on a.activities_id=t.st_activity_id
join aa_wl_staff s
on t.st_staff_id=s.staff_id
group by a.activities_idand produces data like this:
7 700
6 700
44 700
41 700
update aa_wl_activities3 a
set a.activities_stafftime = sum((t.st_proportion*s.staff_time)*7*(t.st_enddate-t.st_startdate)/100)
join aa_wl_stafftime2 t
on a.activities_id=t.st_activity_id
join aa_wl_staff s
and t.st_staff_id=s.staff_id
group by a.activities_idI get this error:
ORA-00934: group function is not allowed hereFrom various bits of googling, it is possible to update using an aggregate function - I want to check it's possible in Oracle SQL and if anyone can spot anything wrong with my code
Thanks
Emmaemma-apex wrote:
From various bits of googling, it is possible to update using an aggregate function - I want to check it's possible in Oracle SQL and if anyone can spot anything wrong with my codeYes, it's possible but you have to do it with a correlated subquery that computes the sum for each row of the target table :
update aa_wl_activities3 a
set a.activities_stafftime =
select sum(
(t.st_proportion * s.staff_time)
* 7
* (t.st_enddate - t.st_startdate)
/ 100
from aa_wl_stafftime2 t
join aa_wl_staff s on s.staff_id = t.st_staff_id
where t.st_activity_id = a.activities_id
;(Or MERGE as suggested) -
JDBC 8.1.6.0.1 Bug with grouping function
Hi,
I found a bug in the JDBC 8.1.6.0.1 driver, concerning the new grouping functionality of Oracle 8.1.6. Look at the following code fragment:
String cSelect = "SELECT DACO_VU_NAME AS DIM1, ' ' AS DIM2, TO_CHAR(DACO_VERKAUFSDATUM,'yyyymm') AS DIM_DATE, GROUPING(DACO_VU_NAME) AS DIM1GROUP, GROUPING(' ') AS DIM2GROUP, GROUPING(TO_CHAR(DACO_VERKAUFSDATUM,'yyyymm')) AS DIM_DATEGROUP, sum(DACO_BRUTTOBETRAG_TX) AS VALUE FROM DATENCONTAINER GROUP BY CUBE (DACO_VU_NAME, '-', TO_CHAR(DACO_VERKAUFSDATUM,'yyyymm') ) ORDER BY 1,2,3";
try {
System.out.println("SELECT: " + cSelect);
Statement stmt = conn.createStatement();
ResultSet rset = stmt.executeQuery(cSelect);
while (rset.next()) {
String cTest1 = rset.getString("DIM1");
String cTest2 = rset.getString("DIM2");
String cTest3 = rset.getString("DIM_DATE");
String cChar1 = rset.getString("DIM1GROUP");
String cChar2 = rset.getString("DIM2GROUP");
String cChar3 = rset.getString("DIM_DATEGROUP");
System.out.println(cTest1 + "\t" + cTest2 + "\t" + cTest3 + "\t" + cChar1 + "\t" + cChar2 + "\t" + cChar3);
}When I compile this with the mentioned JDBC version and run it with java 1.2.2 (JDeveloper 3.1), i get the following output:
Ahrend GmbH & Co. KG 200003 0 0 0
Ahrend GmbH & Co. KG 200003 1 0 0
Ahrend GmbH & Co. KG 200004 0 0 0
Ahrend GmbH & Co. KG 200004 1 0 0
Ahrend GmbH & Co. KG null 0 0 1
Ahrend GmbH & Co. KG null 1 0 1
null 200003 0 1 0
null 200003 1 1 0
null 200004 0 1 0
null 200004 1 1 0
null null 0 1 1
null null 1 1 1As you can see, the grouping columns are mixed up. In this example, everywhere a normal row shows a "null" value, a corresponding grouping row should show a "1", but as you can see, for the last 6 rows, the ones are not in the first, but in the second grouping row.
When I compile the example with the Oracle 8.1.5 JDBC driver, I get the following, correct, output:
Ahrend GmbH & Co. KG 200003 0 0 0
Ahrend GmbH & Co. KG 200004 0 0 0
Ahrend GmbH & Co. KG null 0 0 1
Ahrend GmbH & Co. KG 200003 0 1 0
Ahrend GmbH & Co. KG 200004 0 1 0
Ahrend GmbH & Co. KG null 0 1 1
null 200003 1 0 0
null 200004 1 0 0
null null 1 0 1
null 200003 1 1 0
null 200004 1 1 0
null null 1 1 1The special thing about this example is, that I use a constant row for grouping (row 2). If you use a normal database row, everything works fine with 8.1.6.0.1, but nevertheless, this should be a bug.
Any comments on this are highly appreciated, since I need the JDK 1.2 for the application and I didn't find a working Oracle 1.2 JDBC version.
Thanks,
Thorsten.Patches can be obtained from an Oracle Support Services technical analyst.
null -
Hello all,
Does anyone know if "order by" has precedence over "for update"? In other words, using the following query. Will the resulting rows be sorted first and then locked or they will be locked first and then sorted?
SELECT /*+ cardinality(al 1) use_nl(al t) */ NULL
BULK COLLECT INTO l_nullvalue_list
FROM TABLE (i_list) al, my_table t
WHERE al.id = t.id
ORDER BY t.id
FOR UPDATE OF t.id;
Any help is very much appreciated.
Regards,
wfThis is the case I'm talking about:
drop table t cascade constraints purge;
create table t as select rownum id, cast('x' as char(100)) pad
from dual connect by level <= 10000;
drop table t1 cascade constraints purge;
create table t1(id int);
-- 1st session
SQL> lock table t1 in exclusive mode;
Table(s) locked
-- 2nd session
declare
type t1_type is table of rowid index by binary_integer;
l_tab t1_type;
begin
execute immediate 'lock table t1 in share mode';
select rowid bulk collect into l_tab
from t order by dbms_random.value
for update;
end;
-- 3rd session
declare
type t1_type is table of rowid index by binary_integer;
l_tab t1_type;
begin
execute immediate 'lock table t1 in share mode';
select rowid bulk collect into l_tab
from t order by dbms_random.value
for update;
end;
/Now 2nd & 3rd sessions are blocked by 1st. Let's release that lock:
-- 1st session
SQL> commit;
Commit complete2nd & 3rd sessions are trying to lock rows of table T, and one of sessions fails with deadlock:
declare
type t1_type is table of rowid index by binary_integer;
l_tab t1_type;
begin
execute immediate 'lock table t1 in share mode';
select rowid bulk collect into l_tab
from t order by dbms_random.value
for update;
end;
ORA-00060: deadlock detected while waiting for resource
ORA-06512: at line 7If you repeat the same scenario with ORDER BY id, then one session will be waiting for enqueue.
So, it's all about order in which row locks are acquired. -
How to SELECT FOR UPDATE with CMP (Oracle)
The most common database (Oracle) by default uses a scheme that does not fit into any of those isolation levels. A SELECT statement selects data at the start of the transactions, whereas a SELECT ... FOR UPDATE does something quite different. It is essential to do SELECT FOR UPDATEs before updating the row as SELECT does no lock. It's a hack that works well in practice.
1. Which isolation level is this?
2. More fundamentally, how an earth is it possible to use this scheme with CMP?! You would have to distinguish load() from loadForUpdate()! Is CMP inconsistent with Oracle?
This is a pretty big whole in the CMP spec!No. thats no goes well.
Transaction serializable in Oracle uses a optimistic
concurrency system. And for update is a
pessimistic concurrency.
With optimistic: the system is faster but it can fail
With pessimistic: if doesnt fail (usually;)
You can solve the proble with many differents systems:
1. Edit the .xml descriptor files ans change the sql sentences.
And my prefer one.
2. Make a new jdbc driver that inherits from the original
oracledriver.
The new driver give u in "getConnection()" a new connection class that inherits from the original connection.
The executestatement and preparestatement adds the
string "for update" if the stattement was starting by select.
Configure your container to use the new driver. -
Is Microsoft going to offer a Software update with added functionality for Kin Twom?
Considering how blatant the omissions of a way to back up contacts, sync a calendar, or write/store notes are on the Kin Twom, does anyone know if Microsoft plans to update the software on the phone?
I doubt it. This is a WYSIWYG phone. I really like the phone, the DATA package was not for me. I had the Kin Onem and alas I dropped it and cracked the screen (only 2 wks old) I now have the Kin Twom and plan on taking better care of it.
Still wish Bluetooth was more functional. -
Oracle Syntax for Update with Join
Can anyone help with the Oracle Syntax on and update that includes a join?
This is what I've got:
Update
(SELECT a.DOCUMENT_NO
From DOCUMENT_CONTROL a, DOCNOTEST b
where a.DOCUMENT_NO = b.DOCUMENT_NO)
set a.PATH = NULL
Everything I try leads to another error message. With the current code I'm getting the error message: ORA-00971 a.path invalid identifier.
I am much more familiar with SQL Server (if you can't tell :) This is the way I would write the above in SQL Server.
UPDATE DOCUMENT_CONTROL
Set [Path] = ''
FROM DOCUMENT_CONTROL
INNER JOIN DOCNOTEST
ON DOCUMENT_CONTROL.DOCUMENT_NO=DOCNOTEST.DOCUMENT_NO
where DOCUMENT_CONTROL.DOCUMENT_NO=DOCNOTEST.DOCUMENT_NO
Does anyone have any advice for me? Thanks in advanceAlternate syntax since it seems you're not able to update the join...
update DOCUMENT_CONTROL a
set
a.path = null
where a.path is not null
and exists
select null
from DOCNOTEST b
where a.DOCUMENT_NO = b.DOCUMENT_NO
); -
Figure not updated with exit function
Hi,
I have created a function module & have attached to an exit planning function, have create a planning folder that contains input layout from manual planning & this new exit function. but when test the planning folder, figure that have already calculated in the function not refreshed to the input layout, i do debug & the assignment value already correct.
what should i do to make the assignment in function module get updated in the input layout? the figure used in the fm is in editable mode in the layout.
Please kindly help.
Thanks in advance.Hi,
Can you tell how you have added this FM in Planning folder?
For each function, you can define when the function is executed:
1. Pushbutton: The user executes the function by clicking on a button.
2. Execute before layout display: The function is executed before the planning layout is displayed. If the function changes data which is displayed in the layout, the changes are immediately visible in the layout.
3. Execute before layout change: The function is executed when you exit the planning layout. If the function changes data which is displayed in the layout, the changes are not immediately visible after opening the layout.
I guess you can use "Execute before Layout Display" mode for your planning function in the planning folder.
Regards,
Depti -
Ability to create a dvd menu (for wedding) with "start" function?
hi there
i hope you can help.
i urgently need to create some a dvd menu for a wedding. i have the picture and i wanted some kind of effect and the options to have a 'start' option...so it plays when the user presses 'start' .. is this possible to do in elements.
i am going to have main wedding video file in a .mov file...and i wanted to to add an intro at the beginning of the video..
can you please help? this is really stressing me out..Travis,
The navigational functions in PrE's DVD-Video authoring module are very limited.
Pretty much, one can choose a Menu Set (both a Main Menu and a Scene Selection Menu), and then with the addition of a Menu Marker, and Scene Markers, let PrE create the linear navigation. One can modify many Menu Sets, but only to a limited level.
For more intricate navigation, I strongly recommend another program, just for the authoring. Many users sing the praises of Sony's DVD Architect, which has a much better feature-set, than does PrE. I use Adobe Encore, but it is ONLY available with PrPro, and not as a stand-alone any more.
Steve Grisetti, our MOD here, has written a great book on DVD Architect, in the Muvipix.com series, and if you do go with that program, I highly recommend his book.
Good luck,
Hunt -
Creating a query with group function and non group function
Could anyone help me with creating a query that contain single row function and multiple row function in Report6i.
what i want to do basically is to create a query that will display sum of certain columns according to a column in that tableYou can either calculate a sum yourself, or let Reports do it for you.
1. select sum(column) from table where ....
This will just display the sum, not the records.
2. Make a query: select column from table where ...
Create a summary field. You can do it manually or with the report wizard.
That will create a report like this:
Column
10
20
15
======
Sum 45
Maybe you are looking for
-
Certain podcasts won't download err=3259
itunes 8, now 8.01 refuses to download certain larger podcasts. There is no firewall enabled, no norton/antivirus software, and yes, i have checked all of the other relevant information on the discussion boards and tried those that seemed applicable.
-
How can I check off multiple boxes in my inbox of Yahoo mail?
How can I check off multiple boxes in my inbox of Yahoo mail? I think I've tried every possible keystroke combination. Using MacBook Pro OS10.8.2
-
Nvidia to put more force behind Intel processors
Nvidia, a maker of graphics chips, on Friday announced plans to create a version of its nForce chipset for Intel processor PCs. That's something Nvidia couldn't legally do in the past but can do now, thanks to a broad patent swap with Intel. A chipse
-
Hi, I have been reading a lot of discussions in some of the forums in the web and some topics here on how to take care of the MBP battery and how it can last long. Since I am a first time Mac user, I'm quite clueless about battery care of the MBP.
-
Hi all, Urgent - Issue -XI upgrade to NW2004s - PI 7.0 reg,