My Oracle Support Banner

Ora-00996: The Concatenate Operator Is ||, Not | (Doc ID 798523.1)

Last updated on AUGUST 31, 2023

Applies to:

Oracle Database - Enterprise Edition - Version to [Release 10.2]
Access Manager for CICS - Version 9.2 to 10.2
Precompilers - Version 9.2.0 to 10.2.0
Oracle Database Cloud Schema Service - Version N/A and later
Oracle Database Exadata Cloud Machine - Version N/A and later
Information in this document applies to any platform.
NLS_LANG specifies a character set that is NOT the default character set for Oracle clients on IBM z/os (WE8EBCDIC1047).
This problem has only been reported in relation to the use of Oracle clients on IBM z/os.


Error 'ORA-00996: the concatenate operator is ||, not |' occurs when executing a stored procedure from a batch or CICS Precompiler application that includes an INSERT or UPDATE statement into a table. A snapshot log exists for this table.
Please note that the problem can occur under other circumstances, unrelated to stored procedure execution or INSERTS/UPDATES into a table with a snapshot log defined.
For Oracle clients on z/os, it does not occurr if the default characterset of WE8EBCDIC1047 is used.
A client sqlnet level 16 trace will show that the NLS_SPECIAL_CHARS string sent to the Database server has the exclamation mark as the first character in the string (coded in the database server's character set).


Upgrade of the Database Server to (or some later version).


To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!

In this Document

My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.