Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9308519
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 19, 20262026-06-19T00:38:53+00:00 2026-06-19T00:38:53+00:00

I have the table: create table data_table( id number, csv clob ); csv contains

  • 0

I have the table:

create table data_table(
  id number,
  csv clob
);

csv contains data like this:

CONST  ID  DATA_1  DATA_2 ..  DATA_N
100    1   asd     123    ..  df
100    2   fgh     346    ..  fg

I must find row by id, and change some DATA values, and save.
What is the best way to do it?

at first I want to use DBMS_UTILITY.comma_to_table, but found
http://asktom.oracle.com/pls/asktom/f?p=100:11:0%3a%3a%3a%3aP11_QUESTION_ID:1415803954123

example

BEFORE:

insert into data_table values(1, '100;1;asd;123;df;'||chr(10)||
                                 '100;2;fgh;346;fg;'||chr(10)  );

insert into data_table values(2, '101;2;fgh;346;ff;'||chr(10)||
                                 '101;3;gfd;456;gh;'}}chr(10)  );

execute csv_update(2);

AFTER

select csv from data_table;

100;1;asd;123;df;

100;2;XXX; 000;fg;

101;2;XXX; 000;fg;
101;3;gfd;456;gh;

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-19T00:38:55+00:00Added an answer on June 19, 2026 at 12:38 am

    my decision:

    PROCEDURE update_clob_csv_row_by_id(id in VARCHAR2)
    IS
      f_regexp varchar2(250) := '\d+;('||id||');[^'||CHR(10)||']*'||CHR(10);
      f_old_line varchar2(2000);
      f_new_line VARCHAR2(2000);
      f_count_line NUMBER;
    BEGIN
      FOR CR IN (SELECT * FROM data_table ) LOOP
        -- find count of row with id(it can be not unique)
        SELECT nvl(REGEXP_COUNT(csv ,f_regexp), 0) COUNT_LINE
        INTO f_count_line
        FROM data_table
        WHERE id = cr.id;
        -- update all csv row
        FOR I IN 1..f_count_line LOOP
          -- find by reg_pattern the row for update 
          SELECT REGEXP_SUBSTR(EXPORT_DATA, f_regexp, 1, I) SUBSTR_LINE  
          INTO f_old_line
          FROM card_export
          WHERE id = cr.id;
          -- form new line 
          f_new_line := REPLACE_VALUE_IN_ROW(f_old_line);
          -- replace the old value with new 
          UPDATE card_export SET
          EXPORT_DATA = REPLACE(EXPORT_DATA, f_old_line, f_new_line)
          WHERE ID  = CR.ID;           
        END LOOP;
      END LOOP;
    END DELETE_CARD_CONF_DATA;
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a table with data that looks like this: create table demo_patient_info (
i have a table like this : CREATE TABLE [Mytable]( [Name] [varchar](10), [number] [nvarchar](100)
I have this SQL table: CREATE TABLE DATA ( ID NUMBER NOT NULL, CODE
If I have a table column with data and create an index on this
I have this table: create table demo ( key number(10) not null, type varchar2(3)
I have a table like this CREATE TABLE IF NOT EXISTS `dnddata` ( `numbers`
If I have a table like: CREATE TABLE FRED ( recordId number(18) primary key,
I have the following table: CREATE TABLE [dbo].[Data] ( [Id] UNIQUEIDENTIFIER NOT NULL, [Data]
I have defined a table type PL/SQL variable and added some data there. create
I have just create a large table with more than 30 rows of data,

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.