Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Add a space after 3rd character in string

zephyr223Jul 17 2019 — edited Jul 17 2019

Good Morning All,

I'm looking for some help on updating values in a table.  I need to insert/add a space in between the value, preferably after the 3rd character in the string.  I've not been able to achieve this or find any good way to do so.

So, for example. I have a value that looks like this '45DGDTD333', and now i need it to look at like, '45D GDTD333'. 

Ive run the following query like so:  select substr('45DGDTD333',1,3))  from dual; to make sure I am at the right spot to insert the space, but just can't figure out how to insert the space into the values and update the data in the table.

Any help will be much appreciated.  Thanks in advance.

Comments

gdarling - oracle
Hi,

Usually that occurs when the stored procedure fetches from a database link. You may want to try wrapping the ODP.net code in a transaction to elimanate the error.

Hope it helps,
Greg
Mark Hoxey
From the Oracle database (10g & 11g) documentation:

ORA-01002: fetch out of sequence

Cause: This error means that a fetch has been attempted from a cursor which is no longer valid. Note that a PL/SQL cursor loop implicitly does fetches, and thus may also cause this error. There are a number of possible causes for this error, including: 1) Fetching from a cursor after the last row has been retrieved and the ORA-1403 error returned. 2) If the cursor has been opened with the FOR UPDATE clause, fetching after a COMMIT has been issued will return the error. 3) Rebinding any placeholders in the SQL statement, then issuing a fetch before reexecuting the statement.

Action: 1) Do not issue a fetch statement after the last row has been retrieved - there are no more rows to fetch. 2) Do not issue a COMMIT inside a fetch loop for a cursor that has been opened FOR UPDATE. 3) Reexecute the statement after rebinding, then attempt to fetch again.


It's hard to diagnose without seeing the stored procedure code.

Regards

Mark
821051
Greg your solution really worked fine.

I just created a transaction object from that connection and assigned to the command object and then executed the stored procedure.

It really worked just like that and I am able to fetch the data in a dataset.


Thanks Greg!!!

Bibin.
1 - 3

Post Details

Added on Jul 17 2019
6 comments
10,198 views