Deleting queries using RSZDELETE
Hi,
We are trying to use the RSZDELETE transaction to delete queries, but it seems to be quite slow. e.g. for 14 queries, it took about 30 mins!
Has anyone else come across this, or know how to speed it up? (or a quicker alternative to deleting a large number of queries)
Thanks,
Allan
Hello Allan,
the system has to perform some checks to see if it is save to delete the query. There are quite a few cross references that need to be resolved and a lot of DB activity. So make sure that the DB stats are up-to-date (esp. on RSZ* tables).
If the system is running on Oracle you can try SAP note 577844 (set parameter RS_RESOLVE_XREF_SQL to X).
Regards,
Marc
SAP NetWeaver RIG, US BI
Similar Messages
-
How to delete queries with identical technical name in BEx
Hi everyone,
How do I delete query which is assigned to Roles in BEx.The problem is that there are two queries with the same technical name. And both queries are assigned to the same Role.Can anyone help me out in deleting both those queries.
Thanks in advance.
Regards,
Jayasree.Hi,
When you do Changes in Dev and do the Transporting to Production, the Same Query which is already exist in Production is not overwritten. For that reason Queries will show as two. Check the note: 541024.
Check with your Basis team also.
You have to identify the UID Component of that Particular Query, which want to delete in production. Check the Queries as Date wise, you will find.
Delete these by using RSZDELETE tcode with UID Component of that particular Query in Production.
Let us know if you still have any issues.
Reg
Pra -
Concurrent delete queries on one table
Hi folks,
I just recently started working with SQL server. I did my research and I guess that the post http://social.msdn.microsoft.com/Forums/en-US/7fe7499e-10a5-4371-84a4-aa1df8187a04/can-i-prevent-deadlock-during-concurrent-delete?forum=transactsql hits and somehow
sovles my problem 100%.
I am glad to have my issue resolved but I am also interested in understanding what went wrong deep inside as much as learn what I might do better. My scenario:
4 processes updating disjunct entries at different intervals within the same table and issuing delete queries on that table. Sometimes (maybe once a day) that gives me a deadlock. colums: value, mainclass, subclass, timestamp with a clustered index at timestamp
(My statement is of the form "delete from table where maintype=sth and subtype=sth and timestamp=st")
I'll append a sample deadlock graph. My main questions, which I couldn't answer so far:
1. Is this expected behaviour or should SQL Server be able to handle such requests, or to put it right do I have to care for structures that avoid the above scenario, do I have to reconfigure or is there sth else to look at?
2. Is this a configuration problem?
3. I also do not understand why the report states that the processes fought for page ids when the lock escalation type was set to table.
4. As far as I got to know until now having a clustered index on the timestamp colum is likely to boost my problem rather than solving it?
I am really looking forward to any insights you can give.
Bye,
Lamu
<deadlock>
<victim-list>
<victimProcess id="process56d746188" />
</victim-list>
<process-list>
<process id="process56d746188" taskpriority="0" logused="0" waitresource="PAGE: 5:1:210559 " waittime="3120" ownerId="2642852343" transactionname="user_transaction" lasttranstarted="2014-09-05T11:16:12.683" XDES="0x5a36bd740" lockMode="U" schedulerid="4" kpid="3204" status="suspended" spid="72" sbid="1" ecid="4" priority="0" trancount="0" lastbatchstarted="2014-09-05T11:16:12.990" lastbatchcompleted="2014-09-05T11:16:12.683" lastattention="1900-01-01T00:00:00.683" clientapp="WIRELESS LOCALIZATION SYSTEM 1.15.0" hostname="S-ITCS-ORTUNG" hostpid="6504" isolationlevel="read committed (2)" xactid="2642852343" currentdb="5" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128056">
<executionStack>
<frame procname="adhoc" line="1" stmtstart="94" sqlhandle="0x020000008e714d2c0ee98fc35b8a7712a719321f42c9366a0000000000000000000000000000000000000000">
DELETE [statisticlog] WHERE [statisticid]=@1 AND [storageid]=@2 AND [timest]<@3 </frame>
<frame procname="adhoc" line="1" sqlhandle="0x02000000e1914b015d3b4d5ca54af4b548f2990acfe909ec0000000000000000000000000000000000000000">
DELETE from statisticlog where ((statisticid='node.temperatur') and (storageid='17:85:00:00:1a:18.0')) AND timest < {ts '1970-01-01 01:00:00.000' } </frame>
</executionStack>
<inputbuf>
DELETE from statisticlog where ((statisticid='node.temperatur') and (storageid='17:85:00:00:1a:18.0')) AND timest < {ts '1970-01-01 01:00:00.000' } </inputbuf>
</process>
<process id="process7edeee188" taskpriority="0" logused="0" waitresource="PAGE: 5:1:196655 " waittime="3124" ownerId="2642852343" transactionname="user_transaction" lasttranstarted="2014-09-05T11:16:12.683" XDES="0x8747f1740" lockMode="U" schedulerid="2" kpid="7108" status="suspended" spid="72" sbid="1" ecid="2" priority="0" trancount="0" lastbatchstarted="2014-09-05T11:16:12.990" lastbatchcompleted="2014-09-05T11:16:12.683" lastattention="1900-01-01T00:00:00.683" clientapp="WIRELESS LOCALIZATION SYSTEM 1.15.0" hostname="S-ITCS-ORTUNG" hostpid="6504" isolationlevel="read committed (2)" xactid="2642852343" currentdb="5" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128056">
<executionStack>
<frame procname="adhoc" line="1" stmtstart="94" sqlhandle="0x020000008e714d2c0ee98fc35b8a7712a719321f42c9366a0000000000000000000000000000000000000000">
DELETE [statisticlog] WHERE [statisticid]=@1 AND [storageid]=@2 AND [timest]<@3 </frame>
<frame procname="adhoc" line="1" sqlhandle="0x02000000e1914b015d3b4d5ca54af4b548f2990acfe909ec0000000000000000000000000000000000000000">
DELETE from statisticlog where ((statisticid='node.temperatur') and (storageid='17:85:00:00:1a:18.0')) AND timest < {ts '1970-01-01 01:00:00.000' } </frame>
</executionStack>
<inputbuf>
DELETE from statisticlog where ((statisticid='node.temperatur') and (storageid='17:85:00:00:1a:18.0')) AND timest < {ts '1970-01-01 01:00:00.000' } </inputbuf>
</process>
<process id="process7edeefc38" taskpriority="0" logused="0" waitresource="PAGE: 5:1:196655 " waittime="3119" ownerId="2642852529" transactionname="user_transaction" lasttranstarted="2014-09-05T11:16:12.973" XDES="0x87f3ddbb0" lockMode="U" schedulerid="2" kpid="5216" status="suspended" spid="62" sbid="1" ecid="2" priority="0" trancount="0" lastbatchstarted="2014-09-05T11:16:12.980" lastbatchcompleted="2014-09-05T11:16:12.973" lastattention="1900-01-01T00:00:00.973" clientapp="WIRELESS LOCALIZATION SYSTEM 1.15.0" hostname="S-ITCS-ORTUNG" hostpid="1308" isolationlevel="read committed (2)" xactid="2642852529" currentdb="5" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128056">
<executionStack>
<frame procname="adhoc" line="1" stmtstart="94" sqlhandle="0x020000008e714d2c0ee98fc35b8a7712a719321f42c9366a0000000000000000000000000000000000000000">
DELETE [statisticlog] WHERE [statisticid]=@1 AND [storageid]=@2 AND [timest]<@3 </frame>
<frame procname="adhoc" line="1" sqlhandle="0x02000000dd48f433f7e565ecccaaf5283c2e99548dd371d20000000000000000000000000000000000000000">
DELETE from statisticlog where ((statisticid='GWConnect') and (storageid='17:85:00:00:19:c8.0')) AND timest < {ts '1970-01-01 01:00:00.000' } </frame>
</executionStack>
<inputbuf>
DELETE from statisticlog where ((statisticid='GWConnect') and (storageid='17:85:00:00:19:c8.0')) AND timest < {ts '1970-01-01 01:00:00.000' } </inputbuf>
</process>
<process id="process681871868" taskpriority="0" logused="0" waitresource="PAGE: 5:1:210559 " waittime="3118" ownerId="2642852529" transactionname="user_transaction" lasttranstarted="2014-09-05T11:16:12.973" XDES="0x87bb39740" lockMode="U" schedulerid="1" kpid="8088" status="suspended" spid="62" sbid="1" ecid="3" priority="0" trancount="0" lastbatchstarted="2014-09-05T11:16:12.980" lastbatchcompleted="2014-09-05T11:16:12.973" lastattention="1900-01-01T00:00:00.973" clientapp="WIRELESS LOCALIZATION SYSTEM 1.15.0" hostname="S-ITCS-ORTUNG" hostpid="1308" isolationlevel="read committed (2)" xactid="2642852529" currentdb="5" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128056">
<executionStack>
<frame procname="adhoc" line="1" stmtstart="94" sqlhandle="0x020000008e714d2c0ee98fc35b8a7712a719321f42c9366a0000000000000000000000000000000000000000">
DELETE [statisticlog] WHERE [statisticid]=@1 AND [storageid]=@2 AND [timest]<@3 </frame>
<frame procname="adhoc" line="1" sqlhandle="0x02000000dd48f433f7e565ecccaaf5283c2e99548dd371d20000000000000000000000000000000000000000">
DELETE from statisticlog where ((statisticid='GWConnect') and (storageid='17:85:00:00:19:c8.0')) AND timest < {ts '1970-01-01 01:00:00.000' } </frame>
</executionStack>
<inputbuf>
DELETE from statisticlog where ((statisticid='GWConnect') and (storageid='17:85:00:00:19:c8.0')) AND timest < {ts '1970-01-01 01:00:00.000' } </inputbuf>
</process>
<process id="process6e959f0c8" taskpriority="0" logused="10000" waittime="3087" schedulerid="4" kpid="6624" status="suspended" spid="62" sbid="1" ecid="0" priority="0" trancount="2" lastbatchstarted="2014-09-05T11:16:12.980" lastbatchcompleted="2014-09-05T11:16:12.973" lastattention="1900-01-01T00:00:00.973" clientapp="WIRELESS LOCALIZATION SYSTEM 1.15.0" hostname="S-ITCS-ORTUNG" hostpid="1308" loginname="LocSystem" isolationlevel="read committed (2)" xactid="2642852529" currentdb="5" lockTimeout="4294967295" clientoption1="671088672" clientoption2="128056">
<executionStack>
<frame procname="adhoc" line="1" stmtstart="94" sqlhandle="0x020000008e714d2c0ee98fc35b8a7712a719321f42c9366a0000000000000000000000000000000000000000">
DELETE [statisticlog] WHERE [statisticid]=@1 AND [storageid]=@2 AND [timest]<@3 </frame>
<frame procname="adhoc" line="1" sqlhandle="0x02000000dd48f433f7e565ecccaaf5283c2e99548dd371d20000000000000000000000000000000000000000">
DELETE from statisticlog where ((statisticid='GWConnect') and (storageid='17:85:00:00:19:c8.0')) AND timest < {ts '1970-01-01 01:00:00.000' } </frame>
</executionStack>
<inputbuf>
DELETE from statisticlog where ((statisticid='GWConnect') and (storageid='17:85:00:00:19:c8.0')) AND timest < {ts '1970-01-01 01:00:00.000' } </inputbuf>
</process>
</process-list>
<resource-list>
<pagelock fileid="1" pageid="210559" dbid="5" subresource="FULL" objectname="LocSystem.LocSystem.statisticlog" id="lock707200480" mode="U" associatedObjectId="72057594045464576">
<owner-list>
<owner id="process6e959f0c8" mode="U" />
</owner-list>
<waiter-list>
<waiter id="process56d746188" mode="U" requestType="wait" />
</waiter-list>
</pagelock>
<pagelock fileid="1" pageid="196655" dbid="5" subresource="FULL" objectname="LocSystem.LocSystem.statisticlog" id="lock6ddb9e400" mode="U" associatedObjectId="72057594045464576">
<owner-list>
<owner id="process681871868" mode="U" />
</owner-list>
<waiter-list>
<waiter id="process7edeee188" mode="U" requestType="wait" />
</waiter-list>
</pagelock>
<pagelock fileid="1" pageid="196655" dbid="5" subresource="FULL" objectname="LocSystem.LocSystem.statisticlog" id="lock6ddb9e400" mode="U" associatedObjectId="72057594045464576">
<owner-list>
<owner id="process7edeee188" mode="U" requestType="wait" />
</owner-list>
<waiter-list>
<waiter id="process7edeefc38" mode="U" requestType="wait" />
</waiter-list>
</pagelock>
<pagelock fileid="1" pageid="210559" dbid="5" subresource="FULL" objectname="LocSystem.LocSystem.statisticlog" id="lock707200480" mode="U" associatedObjectId="72057594045464576">
<owner-list>
<owner id="process56d746188" mode="U" requestType="wait" />
</owner-list>
<waiter-list>
<waiter id="process681871868" mode="U" requestType="wait" />
</waiter-list>
</pagelock>
<exchangeEvent id="Pipe59935a700" WaitType="e_waitPipeGetRow" nodeId="1">
<owner-list>
<owner id="process7edeefc38" />
<owner id="process681871868" />
</owner-list>
<waiter-list>
<waiter id="process6e959f0c8" />
</waiter-list>
</exchangeEvent>
</resource-list>
</deadlock>>1. Is this expected behaviour or should SQL Server be able to handle such requests, or to put it right do I have to >care for structures that avoid the above scenario, do I have to reconfigure or is there sth else to look at?
Basically yes. Because your queries are non-trivial the DELETE query plans for different queries may conflict.
>2. Is this a configuration problem?
It's influenced by your table indexing, and especially how well your DELETE statements are supported by the physical data structures in your table. The bigger and more complicated the physical design, the more likely that concurrent DELETES will conflict.
>3. I also do not understand why the report states that the processes fought for page ids when the lock escalation >type was set to table.
Page locks are never the result of lock escalation. Row locks escalate to Table locks. Period. When a query uses Page locks it's an optimization to avoid taking lots of row locks to begin with. But this comes at the possible cost
of some concurrency. The
ROWLOCK query hint, possibly along with the READPAST hint can force more granular locking.
>4. As far as I got to know until now having a clustered index on the timestamp colum is likely to boost my problem >rather than solving it?
You minimize the locking conflicts by ensuring that it's very simple to find the rows affected by your DELETE. There's not enough information here to speculate on which physical design (partition scheme, clustered index, non-clustered indexes...) is optimal
for this.
A threshold question is whether you really _need_ these deletes to run concurrently on the table. If not, then you can simply serialize them (eg with TABLOCK).
David
David http://blogs.msdn.com/b/dbrowne/ -
How to retrieve the deleted queries ?
hi experts,
i have deleted all the queries through rszdelete trans.code. I need to retrieve those queries back. how can i do this..? help me on this issue...Hi,
You can retrieve queries
Go through the link in 100th Page of the below link they have explained
http://help.sap.com/printdocu/core/Print46c/EN/data/pdf/BCSRVQUE/BCSRVQUE.pdf
Regards,
Marasa. -
Currency Translation Type in queries using currency conversion
I have a question on the Currency Translation Type (EUR_VAR) that is used in all of the queries using currency conversion on the fly. (currency is maintained automatically nor in table.)
User wants to use 2 different exchange rates in a single query. The months in 2010 (Actuals) are to
be converted using Xchangerate-type EURO and the months in 2011 (Planned) to use Xchangerate-type USD.
But store different rates with different starting dates. This is however not possible because the Currency Translation
Type is set-up (1) to work with Query Key date - rather than a characteristic in the data and (2) apparently these
currency translation types only work with time characteristics like 0fiscyear
My idea is therefor to:
1. Create a new variable (similar to EXC_RATE) to prompt for a 2nd Exchange Rate type when query starts
2. Create a new Currency Translation Type (next to EUR_VAR), referencing the new variable or sticking to fixed Xrate type, fixed to EUR
Is this possible to create Idea (2)
Many Thanks in Advance.The best way would be to create two curr conversion types , one converting to EUR and other to USD .Put them in properties of coressponding KFs in query.For timref in RSCUR , variable time ref can be used individually for two conv types.
-
How to find out the top 20 queries used in a week
Hi Guru's,
I would like to know how to gather the information regarding the Top 20 queries used in the system per week, by a multicube.
Note: I am using BI 7.0 and also Statistics are turned on.
The aim is to pre-calculate these queries at night to help with the user experience.
Thanks and regards,Hi
U can check in RSZCOMPDIR if u did not find the info then go to se11 and give RSZ* and press F4 u will get all the tables which relates to reports
Assign points if it helps
Khaja -
Can I sync email between iPad mini, iPad, and MacBook so that if I delete email using one device, it will also be deleted from the other two?
You have to set up the email account using IMAP instead of POP.
What type of email address is it? Yahoo, hotmail, gmail, etc?
~Lyssa -
IPhone 6 won/t delete photos using iPhoto
iPhone 6 won/t delete photos using iPhoto
They are on the phone. I import them as usual, and then select to delete them off the phone. Then iPhoto says "deleting" but then the photos never come off of the phone.
-
I have used an incorrect email address for my Apple ID when I punched an App. Cannot get updates. How do I delete and use my primary account email address?
Delete and redownload that application when signed into the correct Apple ID. This may require repurchasing it.
(127051) -
Poor performance of BLOB queries using ODBC
I'm getting very poor performance when querying a BLOB column using ODBC. I'm using an Oracle 10g database and the Oracle 10g ODBC driver on Windows XP.
I create two tables:
create table t1 ( x int primary key, y raw(2000) );
create table t2 ( x int primary key, y blob );
Then I load both tables with the same data. Then I run the following queries using ODBC:
SELECT x, y FROM t1;
SELECT x, y FROM t2;
I find that the BLOB query takes about 10 times longer than the RAW query to execute.
However, if I execute the same queries in SQL*Plus, the BLOB query is roughly as fast as the RAW query. So the problem seems to be ODBC-related.
Has anyone else come across this problem ?
Thanks.Hi Biren,
By GUID, are you referring to the Oracle Portal product? -
Hi, I'm a fairly new user of Oracle XMLDB 9.2.0.4 so please bear with me. I registered a schema and inserted about 130k rows into an XMLType table. Retrieval time took a severe hit as expected, but I created some indexes and it seemed to solve the problem. Autotrace showed that indexes were working correctly.
However, delete does not seem to use those indexes, and instead performs a full table scan. The only difference between the statements used were:
SELECT * FROM <table> where existsNode(...)
DELETE FROM <table> where existsNode(...)
Does anyone know how to alleviate full table scans on deletes?
Thanks in advance,
JustinThanks for your time Mark.
I messed around with 9.2.0.4 a little more, and realized that delete will use the index if it's an element that is indexed (like your example pointed out). However, delete doesn't seem to use indexed attributes.
(Deleting based on an indexed element)
explain plan for
delete
from purchaseorder x
where existsNode ( value(x), '/PurchaseOrder/LineItems/LineItem[@ItemNumber="1"]/Part[@Id="715515011129"]') = 1
PLAN_TABLE_OUTPUT
| Id | Operation | Name | Rows | Bytes | Cost |
| 0 | DELETE STATEMENT | | 1 | 19946 | 1 |
| 1 | DELETE | PURCHASEORDER | | | |
|* 2 | TABLE ACCESS BY INDEX ROWID| PURCHASEORDER | 1 | 19946 | 1 |
|* 3 | INDEX RANGE SCAN | IPURCHASEORDERUSER | 2 | | 1 |
(retrieving based on an indexed attribute)
explain plan for
select value(x)
from purchaseorder x
where existsNode ( value(x), '/PurchaseOrder/LineItems/LineItem[@ItemNumber="1"]/Part[@Id="715515011129"]') = 1
PLAN_TABLE_OUTPUT
| Id | Operation | Name | Rows | Bytes | Cost |
| 0 | SELECT STATEMENT | | 1 | 24142 | 6 |
|* 1 | INDEX RANGE SCAN | SYS_IOT_TOP_35381 | 1 | 2038 | 2 |
|* 2 | INDEX RANGE SCAN | SYS_IOT_TOP_35386 | 1 | 4214 | 2 |
| 3 | NESTED LOOPS | | 1 | 24142 | 6 |
| 4 | SORT UNIQUE | | | | |
|* 5 | INDEX UNIQUE SCAN | SYS_IOT_TOP_35386 | 1 | 4216 | 2 |
|* 6 | INDEX RANGE SCAN | ILINEITEMPARTNUMBER | 1 | | 2 |
|* 7 | TABLE ACCESS BY INDEX ROWID| PURCHASEORDER | 4 | 79704 | 1 |
|* 8 | INDEX UNIQUE SCAN | SYS_C003455 | 102 | | |
Predicate Information (identified by operation id):
1 - access("SYS_NT5e0stCgbSQ6Dg7Md7+/Y0A=="."NESTED_TABLE_ID"=:B1)
2 - access("SYS_NTyLtUmo5HRjCEB+0PWmS+kA=="."NESTED_TABLE_ID"=:B1)
5 - access("SYS_NTyLtUmo5HRjCEB+0PWmS+kA=="."ITEMNUMBER"=1)
filter("SYS_NTyLtUmo5HRjCEB+0PWmS+kA=="."SYS_NC00011$"='715515011129')
6 - access("SYS_NTyLtUmo5HRjCEB+0PWmS+kA=="."ITEMNUMBER"=1)
7 - filter(SYS_CHECKACL("SYS_ALIAS_4"."ACLOID","SYS_ALIAS_4"."OWNERID",xmltype(''<
privilege xmlns="http://xmlns.oracle.com/xdb/acl.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/xdb/acl.xsd
http://xmlns.oracle.com/xdb/acl.xsd DAV:http://xmlns.oracle.com/xdb/dav.xsd"><read-pr
operties/><read-contents/></privilege>''))=1)
8 - access("SYS_NTyLtUmo5HRjCEB+0PWmS+kA=="."NESTED_TABLE_ID"="SYS_ALIAS_4"."SYS_N
C0003400035$")
Note: cpu costing is off
(Deleting based on indexed attribute)
explain plan for
delete
from purchaseorder x
where existsNode ( value(x), '/PurchaseOrder/LineItems/LineItem[@ItemNumber="1"]/Part[@Id="715515011129"]') = 1
PLAN_TABLE_OUTPUT
| Id | Operation | Name | Rows | Bytes | Cost |
| 0 | DELETE STATEMENT | | 1 | 19946 | 13 |
| 1 | DELETE | PURCHASEORDER | | | |
|* 2 | FILTER | | | | |
|* 3 | TABLE ACCESS FULL | PURCHASEORDER | 1 | 19946 | 2 |
|* 4 | COLLECTION ITERATOR PICKLER FETCH| | | | |
Predicate Information (identified by operation id):
2 - filter( EXISTS (SELECT /*+ */ 0 FROM
TABLE(SYS_OP_ATG(SYS_OP_ATG(:B1,10,11,3),2,3,3)) "KOKBF$" WHERE
SYS_OP_ATG(VALUE(KOKBF$),2,3,2)=1 AND SYS_OP_ATG(SYS_OP_ATG(VALUE(KOKBF$),4,5,3),2,3,2
)='715515011129'))
3 - filter(SYS_CHECKACL("SYS_ALIAS_4"."ACLOID","SYS_ALIAS_4"."OWNERID",xmltype(''<p
rivilege xmlns="http://xmlns.oracle.com/xdb/acl.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/xdb/acl.xsd
http://xmlns.oracle.com/xdb/acl.xsd DAV:http://xmlns.oracle.com/xdb/dav.xsd"><update/>
<unlink-from/></privilege>''))=1)
4 - filter(SYS_OP_ATG(VALUE(KOKBF$),2,3,2)=1 AND
SYS_OP_ATG(SYS_OP_ATG(VALUE(KOKBF$),4,5,3),2,3,2)='715515011129')
Note: cpu costing is off
Thanks again,
Justin -
Problem deleting rows using JDBC
Hi,
I have a problem with the following code listed below. I am attempting to delete a user's details from a SQLServer db based on the user selected from a combobox. The code given below is just a section and relates to a JButton I have on the application that performs the delete command.
public void deleteButton_actionPerformed(ActionEvent e) {
try{
String opName = (String)userNameBox.getSelectedItem();
String deleteQuery = "select * from Operator where OperatorName = " + "'"+opName+"'";
//Load Database Driver Class
Class.forName(JDBC_DRIVER);
//Establish a connection to the Database
connection = DriverManager.getConnection(DATABASE_URL);
//Create Select statement for returning all usernames to the combobox
statement2 = connection.createStatement(java.sql.ResultSet.TYPE_SCROLL_SENSITIVE, java.sql.ResultSet.CONCUR_READ_ONLY);
//dQuery.setString(1,opName);
resultSet = statement2.executeQuery(deleteQuery);
while (resultSet.next()){
resultSet.deleteRow();
catch(Exception exception){
exception.printStackTrace();}
To explain the code, to begin with a String holds the value of the selected field of the combobox i have in my app. I have the SQL select statement the using this variable as the where clause.
The usual connection and statement objects are declared etc and then the query is executed. Within the While loop I then attempt to delete the row that the query has retrieved for me. However this results in the following error.
java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]Invalid attribute/option identifier
Any help is much appreciated.
Thanks
AlanThanks for the reply. I understand your comment about
using the delete statement and it seems I am making
an obvious error. However I was using the select
statement to generate a resultSet object with which I
can delete elements from. Hence the reason for the
use of the select statement.This is brain dead, the classic newbie mistake. The database vendor has optimized their code more than you ever will in making those deletes, so use their code. Not only will they do it faster than you will, but you'll save yourself (n+1) network roundtrips (1 for the SELECT, 1 for each DELETE you issue). Better to learn SQL and use a WHERE clause to do it on the database side.
You have however solved the problem I had with
directly executing the delete statement as an SQL
String. I was using the following statement:
String deleteQuery = "select * from Operator where
OperatorName = " + "'"+opName+"'";
The wildcard character is not required and it was
this that gave me problems and made me look to using
a select query and deleting results from a
resultSet.Sounds like you need a SQL book. I recommend "SQL For Smarties".
% -
How to delete term using powershell?
Hello
I want to delete a particular term from termstore. I dont have termset name. Without termset name how can I delete term using powershell?
AviIf you don't know the termset net it makes it tricky.
In theory if you know the name of the term you could look through all termsets to find it. The catch of course is to ensure there is only one instance of the term otherwise you may delete terms you need.
Which version of SharePoint?
Jason Warren
@jaspnwarren
jasonwarren.ca
habaneroconsulting.com/Insights -
How to delete database using sql
I have to delete some databases from oracle 8i. I tried it using the Database Configuration Assistant and I get stuck indefinately as the message always says connecting but nothing happens.
How can I delete databases using sql not thru the DCA?
Thanksfiles related to the database and follow these steps:
1.- shutdown the database
2.- Delete all files ( Control Files, .dbf, Redo's, Archive�s, parameter file, password file )
3.- Delete the entrance of this database from
listener.ora and from tnsnames.ora files.
and that's it.
Joel P�rez -
How to delete PostOffice using AdminTypeLibrary (C#)
Is there any way to delete PostOffice using Admin Object API?
Thank you in advance.
KahrenIn article <pus1d.8585$[email protected]>, kallak2000
@hotmail.com says...
> Is there any way to delete PostOffice using Admin Object API?
>
> Thank you in advance.
>
> Kahren
>
>
>
Hello, Kahren.
Because of all the steps actually involved, and the complexity it is not
possible to delete or create Post Offices, Domains or MTAs with the
APIs.
Regards,
Shane
Maybe you are looking for
-
About using categories and perspectives for new user
We are just beginning a conversion and upgrade project to convert our Web site to Oracle Portal. I'm trying to get a good handle on some different things we need to resolve as part of the project. One of the first decisions is using Categories and Pe
-
Hi All, I need help with the production issue.There are 2 sales orders which have cost recognized in one of the month but they are not posting to WIP.Can anyone explain me the reason for this problem. Thanks in advance. Edited by: Reema Sen on Jun 10
-
Hi We are installating Oracle identity and access management (11.1.1.6.0) in a OEL5.6 OS and x86-64 server. While running RCU we faced an issue in the step when it tests JDBC component schema. While testing OIM schema, it throws error CFGFWK-60850- T
-
I pod Classic gives no response to i tunes. Done formatting, resetting etc.
My i pod classic 160 GB has stopped functioning all of a sudden. I tried resetting, formatting and even re installed i tunes but no use. The device seems all fine but i tunes is not able to detect it.i tunes doesn't give any response if i when i try
-
Playing Burned DVD's - some work, some stop and pixelate
I created my first DVD project with Final Cut Pro and finished it in DVD Studio Pro. I played it on my 2004 Panasonic DVD player without a problem, but when I sent it to family and friends many of them said there was chatter and sometimes it hung up