Insert / update in same table
SQL> select * from test;
TT NAME
1 hi
1 re
1 go
2 rw
2 gh
2 lk
6 rows selected.
This is just a dummy table,but I would like to know how can I update the values of TT=2 to make it identical with the values of TT=1
The table should look like
SQL> select * from test;
TT NAME
1 hi
1 re
1 go
2 hi
2 re
2 go
In reality the records go into lacs
One way:
(untested)
Delete from Test where TT=2;
Insert into test t1
select 2, t2.name from test t2 where tt=1;Added where clause, just in case if there are more values for TT.
Message was edited by:
Sven W.
Similar Messages
-
XML PARASE and insert /update in corresponding tables
Hi,
I have a XML in which master details tables 3 tables.I want to separate element and insert/update in corresponding tables dynamically.
Table invlovled in A,B,C
Thanks
ReenaReena
The easiest way to do this is along the following lines..
(1) register an XML Schema that describes the XML you wish to process with theh database.
(2). create a relational view for the top level elements and for each repeating element (element where maxOccurs > 1 in the XML Schema)
(3) Use 'insert as select' or other SQL type processing to update your relational tables from the contents of the view
It is normally recommended that you add the following annotations to the XML Schema before registering it with the database
(1) At the schema level set xdb:storeVarrayAsTable="true".
(2) At the complexType level set xdb:maintainDOM="fasle".
If you search the forum you will find a lot of examples of creating relational views of XML content stored in the XML database. Typically these examples will include key words like 'create or replace view' and 'table(xmlsequence(extract' or 'xmltable'.
Hope this helps...
-Mark -
Inserts/Updates on replicated tables Logical Standby Database ??
Hello all,
We have a Logical standby database on 10.2.0.5. Can you please suggest if there is a way we can do data inserts/updates on replicated tables ?
Can this be done by doing a alter database guard none; or alter session disable|enable guard; ?? Even if it completes succesfully , will this have any effect on replication later ?Hello all,
We have a Logical standby database on 10.2.0.5. Can you please suggest if there is a way we can do data inserts/updates on replicated tables ?
Can this be done by doing a alter database guard none; or alter session disable|enable guard; ?? Even if it completes succesfully , will this have any effect on replication later ? -
Insert data in same table based on some condition
Hi. I am new to this forum.
I have to write a stored procedure to Insert Data into a table say MYTABLE ,having structure as:
Col1 Col2 Col3 ................ TotalInstallments CurrentInstallment PaidAmount MonthYear
I have to insert all the data as it is in the same table(MYTABLE) except changing some fields on basis of some conditions:
1. if PaidAmount>0 && CurrentInstallment<TotalInstallment then
CurrentInstallment=CurrentInstallment+1
2. In the MonthYear field I am having data in formate(month/year)ex. 01/2012, 11/2012 ....
So I have to insert data by incrementing month and year. for example:
if currentdata is 11/2012 then next data will be 12/2012
But next will be 01/2013
I have to select all the records which belongs to previous month(through MonthYear field ) and put checking & changes on each record of the selected data and then insert them into same table(MYTABLE).
How to achive that?
Thanks.978184 wrote:
Every thing is working fine but some strange result as:
when i run my Procedure TRANSFERDATATONEXTMONTH
1. by Passing Value as : CUSTOMERID_var ='ABX101' and MONTHYEAR_var='12/2012' it insurts 5 rows
which is correct , since I have 5 records where CUSTOMERID='ABX101' and MONTHYEAR='12/2012' and
new 5 rows has CUSTOMERID='ABX101' and MONTHYEAR='01/2013' (all other values are as expected)
2. now when i again run by passing values: CUSTOMERID='ABX101' and MONTHYEAR='01/2013' it inserts 10 records(just double )
and new records has value CUSTOMERID='ABX101' and MONTHYEAR='02/2013' (while on the basis of condition CUSTOMERID='ABX101' and MONTHYEAR='01/2013' i have in my table only 5 records)
and all records are duplicate. Some times it inserts three times , while on condition basis it should no. What is happening?Probably, meanwhile you were trying to Insert the First time and the second time, someone did run the procedure that Inserted 5 More records for 01/2013. And, hence your Second run inserted 10 records instead of 5.
>
Why it is inserting double of records while i have only 5 records on given condition? Am I missing some thing?Yes, you are. You are missing your Tables, Your Dummy/Sample Data, Working Procedure/Function that can be replicated.
Without this, we cannot simply believe on assertions that Oracle is behaving incorrectly.
In addition to this, the GetMonthYear function, should be scrapped. It is un-necessary, when the same logic can be achieved using Oracle ADD_MONTHS function (See my previous post). And you are storing the MonthYear in a Varchar field, which ideally should be a Date field. This eradicates the un-wanted need to cast from VARCHAR - DATE - VARCHAR.
Please do make some time to read {message:id=9360002} and mentioned relevant details.
And notice, the code difference in my previous post and in your code.
Please use
{noformat}
(exactly as shown) above and below your code, that indents the code properly for better readability.
{noformat} -
Possible solution to avoid deadlock when two inserts happen on same table from two different machines.
Below are the details from deadlock trace.
Deadlock encountered .... Printing deadlock information
Wait-for graph
NULL
Node:1
KEY: 8:72057594811318272 (ffffffffffff) CleanCnt:3 Mode:RangeS-S Flags: 0x1
Grant List 2:
Owner:0x00000013F494A980 Mode: RangeS-S Flg:0x40 Ref:0 Life:02000000 SPID:376 ECID:0 XactLockInfo: 0x000000055014F400
SPID: 376 ECID: 0 Statement Type: INSERT Line #: 70
Input Buf: RPC Event: Proc [Database Id = 8 Object Id = 89923542]
Requested by:
ResType:LockOwner Stype:'OR'Xdes:0x0000002AA53383B0 Mode: RangeI-N SPID:238 BatchID:0 ECID:0 TaskProxy:(0x00000027669B4538) Value:0x10d8d500 Cost:(0/38828)
NULL
Node:2
KEY: 8:72057594811318272 (ffffffffffff) CleanCnt:3 Mode:RangeS-S Flags: 0x1
Grant List 2:
Owner:0x0000000B3486A780 Mode: RangeS-S Flg:0x40 Ref:0 Life:02000000 SPID:238 ECID:0 XactLockInfo: 0x0000002AA53383F0
SPID: 238 ECID: 0 Statement Type: INSERT Line #: 70
Input Buf: RPC Event: Proc [Database Id = 8 Object Id = 89923542]
Requested by:
ResType:LockOwner Stype:'OR'Xdes:0x000000055014F3C0 Mode: RangeI-N SPID:376 BatchID:0 ECID:0 TaskProxy:(0x000000080426E538) Value:0x30614e80 Cost:(0/41748)
NULL
Victim Resource Owner:
ResType:LockOwner Stype:'OR'Xdes:0x0000002AA53383B0 Mode: RangeI-N SPID:238 BatchID:0 ECID:0 TaskProxy:(0x00000027669B4538) Value:0x10d8d500 Cost:(0/38828)
deadlock-list
deadlock victim=process5daddc8
process-list
process id=process5daddc8 taskpriority=0 logused=38828 waitresource=KEY: 8:72057594811318272 (ffffffffffff) waittime=2444 ownerId=2994026815 transactionname=user_transaction lasttranstarted=2014-07-25T12:46:57.347 XDES=0x2aa53383b0 lockMode=RangeI-N schedulerid=43 kpid=14156 status=suspended spid=238 sbid=0 ecid=0 priority=0 trancount=2 lastbatchstarted=2014-07-25T12:46:57.463 lastbatchcompleted=2014-07-25T12:46:57.463 clientapp=pa hostname=pa02 hostpid=1596 loginname=myuser isolationlevel=serializable (4) xactid=2994026815 currentdb=8 lockTimeout=4294967295 clientoption1=671088672 clientoption2=128056
executionStack
frame procname=mydb.dbo.SaveBill line=70 stmtstart=6148 stmtend=8060 sqlhandle=0x03000800d61f5c056bd3860170a300000100000000000000
INSERT INTO [dbo].[Prod1] .....
inputbuf
Proc [Database Id = 8 Object Id = 89923542]
process id=process5d84988 taskpriority=0 logused=41748 waitresource=KEY: 8:72057594811318272 (ffffffffffff) waittime=2444 ownerId=2994024748 transactionname=user_transaction lasttranstarted=2014-07-25T12:46:57.320 XDES=0x55014f3c0 lockMode=RangeI-N schedulerid=39 kpid=14292 status=suspended spid=376 sbid=0 ecid=0 priority=0 trancount=2 lastbatchstarted=2014-07-25T12:46:57.440 lastbatchcompleted=2014-07-25T12:46:57.440 clientapp=pa hostname=pa01 hostpid=1548 loginname=myuser isolationlevel=serializable (4) xactid=2994024748 currentdb=8 lockTimeout=4294967295 clientoption1=671088672 clientoption2=128056
executionStack
frame procname=pa.dbo.SaveBill line=70 stmtstart=6148 stmtend=8060 sqlhandle=0x03000800d61f5c056bd3860170a300000100000000000000
INSERT INTO [dbo].[Prod1]....
inputbuf
Proc [Database Id = 8 Object Id = 89923542]
resource-list
keylock hobtid=72057594811318272 dbid=8 objectname=pa.dbo.prod1 indexname=PK_a id=lock1608ee1380 mode=RangeS-S associatedObjectId=72057594811318272
owner-list
owner id=process5d84988 mode=RangeS-S
waiter-list
waiter id=process5daddc8 mode=RangeI-N requestType=convert
keylock hobtid=72057594811318272 dbid=8 objectname=pa.dbo.prod1 indexname=PK_a id=lock1608ee1380 mode=RangeS-S associatedObjectId=72057594811318272
owner-list
owner id=process5daddc8 mode=RangeS-S
waiter-list
waiter id=process5d84988 mode=RangeI-N requestType=convertDon't know. Perhaps these can help. I scanned the second link but didn't see much about Ending Deadlocks. I'd say the Fourth link probably has better information than the first three links. But maybe read them all just in case the Fourth is missing something
one of the first three have.
Deadlocking
Detecting and Ending Deadlocks
Minimizing Deadlocks
Handling Deadlocks in SQL Server
Google search for "SQL Deadlock"
La vida loca -
MULTIPLE UPDATES/INSERTIONS TO THE SAME TABLE
How can I update/insert mutiple rows into the same table from one form ?
Hi,
Using the portal form on table you can insert only a single row. You can use master-detail form to insert multiple rows.
Thanks,
Sharmila -
Can not insert/update data from table which is created from view
Hi all
I'm using Oracle database 11g
I've created table from view as the following command:
Create table table_new as select * from View_Old
I can insert/update data into table_new by command line.
But I can not Insert/update data of table_new by SI Oject Browser tool or Oracle SQL Developer tool .(read only)
Anybody tell me, what's happend? cause?
Thankyou
thiensu
Edited by: user8248216 on May 5, 2011 8:54 PM
Edited by: user8248216 on May 5, 2011 8:55 PMI can insert/update data into table_new by command line.
But I can not Insert/update data of table_new by SI Oject Browser tool or Oracle SQL Developer tool .(read only)so what is wrong with the GUI tools & why posting to DATABASE forum when that works OK? -
Using Case statement to insert,update,delete the tables
Hi All,
I have to check the databse ,
if it is developement then
insert/update/delete values in tables;
if it staging then
insert/update/delete values in tables;
if it is production then
insert/update/delete values in tables;
thers is function available to check the current database
For doing the about i am trying to write CASE statement like this
SELECT function,
case
when fun = 'developement' then insert into table1 values ('abcd','1234')
when fun = 'staging' then insert into table1 values ('abcd','1234')
when fun= 'production' then insert into table1 values ('abcd','1234')
else null
from dual
its throughing me an error
please help
Thanks,Hi,
You can use CASE staement any place where an expression is expected.
For example, in:
UPDATE table_a
SET col1 = exp1
, col2 = exp2
WHERE exp3 = exp4;all the expressions are labled lke expn.
Note that table_a, col1 and col2 are not expressions: you must hard-code these names, or use dynamic SQL.
So it's okay to say:
UPDATE table_a
SET col1 = CASE
WHEN db = 'development' THEN 0
WHEN db = 'staging' THEN 1
END
, col2 = CASE
WHEN db = 'development' THEN NULL
WHEN db = 'staging' THEN col2
END
WHERE db != 'production';In this example:
in the development database, col1 is set to 0 and col2 is set to NULL
in the staging database, col1 is set to 1 and col2 is unchanged (that is, set to what it already was)
in the production database, nothing is changed (the WHERE condition is always FALSE) -
Help in query required – Insert, Select in same table
Hi All
I need your help on writing the queries effectively.
Oracle Version: 10.2.0.3.0
OS: UNIX
I have a table METRICS_TBL as mentioned below.
CYCLE_DATE METRICS VALUE
08/17/2008 COST-TV 100
08/17/2008 COST-NEWSPAPER 50
08/17/2008 COST-POSTALMAIL 25
08/17/2008 PROD-TV 10
08/17/2008 PROD-NEWSPAPER 25
08/17/2008 PROD-POSTALMAIL 5
Based on the above data, I need to append (Insert into METRICS_TBL select from METRICS_TBL) the same table with the records as mentioned below.
08/17/2008 COSTPERPROD-TV 10
08/17/2008 COSTPERPROD-NEWSPAPER 2
08/17/2008 COSTPER PROD-POSTALMAIL 5
Basically, I need to calculate Cost per Product for each category. Depending upon the available metrics, metrics also should be changed like COSTPERPROD and values should be Cost/prod under each category.
Can somebody help me with the query.
ThanksSQL> WITH t AS
2 (
3 SELECT TO_DATE('8/17/2008', 'MM/DD/YYYY') AS CYCLE_DATE, 'COST-TV' AS METRICS, 100 AS VALUE
4 FROM DUAL
5 UNION ALL
6 SELECT TO_DATE('08/17/2008', 'MM/DD/YYYY'), 'COST-NEWSPAPER', 50
7 FROM DUAL
8 UNION ALL
9 SELECT TO_DATE('08/17/2008', 'MM/DD/YYYY'), 'COST-POSTALMAIL', 25
10 FROM DUAL
11 UNION ALL
12 SELECT TO_DATE('08/17/2008', 'MM/DD/YYYY'), 'PROD-TV', 10
13 FROM DUAL
14 UNION ALL
15 SELECT TO_DATE('08/17/2008', 'MM/DD/YYYY'), 'PROD-NEWSPAPER', 25
16 FROM DUAL
17 UNION ALL
18 SELECT TO_DATE('08/17/2008', 'MM/DD/YYYY'), 'PROD-POSTALMAIL', 5
19 FROM DUAL)
20 SELECT COST.CYCLE_DATE, 'COSTPERPROD-' || SUBSTR(COST.metrics, 6) AS Metrics,
21 COST.VALUE / prod.VALUE AS COSTPERPROD
22 FROM t COST, t prod
23 WHERE COST.CYCLE_DATE = PROD.CYCLE_DATE
24 AND COST.metrics LIKE 'COST-%'
25 AND prod.metrics LIKE 'PROD-%'
26 AND SUBSTR(COST.metrics, 6) = SUBSTR(prod.metrics, 6)
27 /
CYCLE_DA METRICS COSTPERPROD
17.08.08 COSTPERPROD-NEWSPAPER 2
17.08.08 COSTPERPROD-POSTALMAIL 5
17.08.08 COSTPERPROD-TV 10 -
Problem in Master-Details - Inserting Records to same Table
I have 3 column of one table in master as primary key and 3 column of same table in detail as primay key. These 6 column collection as the composite primary key. when i try to insert the records in detail table it showing me Too many objects match the primary key oracle.jbo.Key Error.
I have done the Following things:
In HR Schema, I have created one Transient View Object for Master and Employee View Object for Details.
I have taken EmployeeId, FirstName and LastName columns in the Master i.e., From Transient View Object and droped it as the Form.
And I have taken E-mail, JobId, ManagerId columns in Details i.e From and droped it as the Table.
When I entered values in master and click CreateInsert in the details record. It showing me Too many objects match the primary key errors.
Help me out!!! for this problem.Hi Kumar,
I was not in office for couple of days. Thats you couldnt reply for your earlier post. You had mentioned how can we set the value of the import parameter.
What i wanted to tell you is not to set the value for that Binary_flag, but that flag influences the data download in ASCII FORMAT.
You just try this: Try attaching a file through CL_CRM_DOCUMENTS~CREATE_WITH_TABLE. Before read the contents of a file into SAP using GUI_DOWNLOAD and read it in ASCII mode. Now when you try to pass this to Ascii internal table of the method specifing the MIME type, it will attach the document to the opportunity, but the document content will be still in ASCII.
If you try to download this file using GET_WITH_TABLE, then you can see BINARY_FILE is not set to 'X' and the content gets downloaded to Ascii internal table.
This is my observation.
I think when attaching documents in Opportunities by default, it reads the file in Binary mode. Because when i tried to attach a file directly in Opportunity transaction, and tried the method GET_WITH_TABLE, the BINARY_FLAG was set.
Hope now you understood, why i was mentioning that BINARY_FLAG influences the download of content in binary and Ascii format.
Regards,
karthik. -
Interfaces used for insert/update data in tables
for providing security the procedures are not allowed to directly insert/update the values in tables.some one suggested that use interfaces for this .i want infomation about this interfaces. how this works and how to use
An interface is an intermediate set of procedures/functions that do the job for you.
You haven't explained what it is you're trying to achieve exactly, but here's an example scenario.
We don't want to allow our developers to query, or write to the tables directly so they are set up with certain database users that have no permissions granted on the tables for such things.
Instead they have been granted permission to call procedures and functions belonging to another schema, and it is those procedures and functions that do the required table access and/or pass information/data back or write to the tables.
The developers have to write their applications to call these procedures to do any access to the tables. This means that they are limited to the functionality provided by these interface procedures so, if there is internal auditing or columns of data etc. on the tables then it may be that they can't access this data, but only the "user facing" data.
The interface can also ensure that data meets certain requirements before being written to tables, allowing for business or technical level restrictions to be implemented. -
Concurrency when inserting in the same table
Hi,
I have a report used by several users and in this record there is a sentence to insert in a z table. My question is, what happens whether two or more users are inserting records in that table at the same time? There is a concurrency problem, isn't there?
How does SAP manage this issue? or, what must I do in this case?
Thanks in advance.
Regards.Hi David,
As SAP applications are accessed by many end users at same time, SAP has concept called LOCKING of particular tables involved in the transaction.
You can achieve your requirement as below
Go to t-code SE11, and create a lock object for your Ztable
Now, system create 2 function modules - 1 for locking ENQUEUE_* & other for un-locking DEQUEUE_* ( search for function module in SE37 )
Before saving data to ZTABLE, call function module ENQUEUE_* to lock the table for writing data, if locking fails, means there is somebody already working on it, hence you can display error message
After Save action, you can unlock the table by using FM ... DEQUEUE_*
Note: you can lock and unlock event during DISPLAY/CHANGE mode if your requirement requires.
Hope this helps you.
Regards,
Rama -
Ruleframe + Updates in same table on different records
I have following problem :
Change event with DML for one column in one record have to result in an update of different records in same table
if business rule is validated, I get a problem in the cg$AUS trigger, No data found.
In the business rule (on after row triggering level), I call a procedure, which do the updates on the same table.
What do I do wrong. Do I have to start a new transaction for this ?
I hope someone can help me.
Regards
Jo-anJo-an,
You definitely don't have to start a new transaction, you should just use the tapi upd procedure to perform the update, as described in the Headstart User's Guide.
Could you try again and report back if you still have the problem?
kind regards,
Sandra -
To insert values in same table
hi,
based on date difference i want insert the data in same table
eg: if date diff is 2
i want insert 2 rows in a same table
how to resolve this
Edited by: hareeshKR on Oct 1, 2011 9:10 AMHi,
Please explain further what is your goal, what table are trying to add?
Because inserting data in a table is not supported.
Thanks.
Clint -
Fetch Insert / Update Query From Table Trigger
Hi everyone !,
I have a situation, is there any way where I can get insert/update query by before-insert / after insert trigger when a user inserts/updates any row in the table.
Plz....help me....champs.....
Regards,
NaushadThat was a nice thing but it works only on some oracle 9i with DML statements.
On database versions 9.2.0.1 to 9.2.0.6 ora_sql_text works and returns the calling text for dml triggers, where as starting from 9.2.0.7 the behavior has changed and returns NULL.
Cause
This issue had surfaced from 9.2.0.7.0 patchset. After discussions in Bug 4171597 which was closed as a duplicate of Bug 4230721 it was concluded that it was the expected behavior i.e ORA_SQL_TXT should return null when dml triggers are used.
ORA_SQL_TXT is a "System defined event attribute" and is supposed to work only with "System triggers". This is also what the Documentation says - "Application Developers Guide : Fundamentals(9.2)
Chapter 16 Working with System events".
Bye Alessandro
Maybe you are looking for
-
Planned Order creation for Sales Order and Purchase Order
Hi We have a following requirement. In normal scenario when we have demand for material which was created by MD61 and in addition to that if there is Sales Order the 1st planned order gets revised.To better expalin this consider possible scenario Yo
-
Printing Terms and Conditions for each Purchase order in the RDF output
Hi All, Present i have an RDF report with the registered concurrent program. when i run this concurrent program i am getting the terms and conditions at the end of the purchase orders only once(for example 10 purchase orders). Now the requirement is
-
How to use special font in an applet so that text can viewed in any browser
I have created an applet in which I use text with special font I have installed in my PC. The applet is correctely executed with associated html file in my PC. I try to execute the files in another PC in witch the font is not installed. Text with the
-
I need to create private members pages for a site I am building
Is it possible to make PRVATE PAGES that on only site members can see?
-
Power Surge on Airport Extreme
Recently we had a 3 power spikes in a row. After those spikes our Airport Extreme is now operating very warm and we lost some range in which the Airport broadcast. Is there any diagonstics to see if the unit is damaged? Would those spikes cause the a