Reputation: 1
DECLARE
@A varchar2(20);
BEGIN
@A := 'abc555';
UPDATE TEST Set LINK = Replace(LINK,Substring(LINK,1,CHARINDEX('\ESSAIS-CGMP',LINK)-1),@A);
END;
Upvotes: 0
Views: 787
Reputation: 168570
You are using Oracle not SQL server.
SUBSTRING
and CHARINDEX
are not valid Oracle functions; you want SUBSTR
and INSTR
instead.
And, @
is not a valid first character for a non-quoted identifier, just use A
rather than @A
.
DECLARE
A varchar2(20);
BEGIN
A := 'abc555';
UPDATE TEST
Set LINK = Replace(LINK,Substr(LINK,1,INSTR(link,'\ESSAIS-CGMP')-1),A);
END;
/
Then, for the sample data:
CREATE TABLE test ( link VARCHAR2(50) );
INSERT INTO test ( link ) VALUES ( 'here\ESSAIS-CGMP' );
The result is:
SELECT * FROM test;
| LINK | | :----------------- | | abc555\ESSAIS-CGMP |
db<>fiddle here
Upvotes: 2