Sql error ora 00936 missing expression

Learn troubleshooting ORA-00936 missing expression in oracle SQL.what are various solution, how we can avoid it, Oracle bugs for this errors

Description

ORA-00936 : missing expression is one of the common error everybody working in Oracle SQL must have faced some time. This generally happens when you omit important thing in the Sql statement i.e you left out an important chunk of what you were trying to run

ORA-00936 missing expression

Reference : Oracle documentation

This Oracle error is mainly related to the SQL SELECT statements. One obvious reason is select column list is missing or expressions in the selected columns are incomplete.

Check list to run to resolve the ORA-00936 missing expression error

(1) It happens when you forget to list the column  in the select statement

Select from mrp_details;

select from mrp_details;
ERROR at line 1:
ORA-00936: missing expression

The correct way would be list the column you want to select

Select col1,col2 from mrp_details; 

(2) We sometimes makes mistake in the usage of Distinct statement. Following statement will fail with ORA-00936

select distinct a, b,c,d, distinct e from tab_example
where b=’ABCD’ and c =1 and d= ‘JOHN’
ERROR at line 1:
ORA-00936: missing expression

Having two distinct clause does not make sense and give error

Another example

select a, b,c,d, distinct e from tab_example
where b=’ABCD’ and c =1 and d= ‘JOHN’
ERROR at line 1: ORA-00936: missing expression

distinct can be used in the starting only

So correct statement would be

select distinct a, b,c,d, e from tab_example
where b=’ABCD’ and c =1 and d= ‘JOHN’

(3) This error is caused when part of the expression is omitted , some examples are

select 2**8 from dual; 
select 2**8 from dual;
ERROR at line 1: ORA-00936: missing expression

** operators works in PLSQL but not in SQL, We need to use Power function for it, So correct way would be

select power(2,3) from dual;
POWER(2,3)
--------
8

(4) Another example

select dept_name||' '|| from dept;
select dept_name||' '|| from dept
ERROR at line 1: ORA-00936: missing expression

Here you forget to mention column name after the concatenation operator, the correct SQL would be

select dept_name||' '||dept_no from dept;

(5) When you add extra commas in the list of column

select dept_no, dept_name, ,dept_location from dept_table;
select dept_no, dept_name, ,dept_location from dept_table;
ERROR at line 1: ORA-00936: missing expression

So we need to double check the SQL statement when we hit this error and make sure we are doing the common mistake

(6) This error will also come if you omit the From in the SQL statement

select dept_no, dept_name, ,dept_location where dept_name like ‘A%’;
select dept_no, dept_name, ,dept_location where dept_name like ‘A%’;
ERROR at line 1: ORA-00936: missing expression

Here we missed to mention the from clause.SELECT statement has three parts: to wit: “SELECT->FROM->WHERE
You can omit where clause but select and from are necessary

select dept_no, dept_name, ,dept_location from dept_table where dept_name like ‘A%’;

(7) It can also occurs in insert statement like below

insert into table1 (col1,col2) values as select col1,col2 from table2;
ERROR at line 1: ORA-00936: missing expression

We don’t need values as in this statement

insert into table1 (col1,col2) select col1,col2 from table2;

 (8) We can sometimes  mix up user-defined functions and Oracle functions, and doing so can lead to confused syntax that would result in an error message.So avoid them

(9) There are Oracle some bugs also
(a) Bug:4567818 base Bug#:4192148 – unpublished on 9207
(b) Bug:4212516 (unpublished) on oracle 10.1.0.4.0.
With these bugs, ORA-00936 error is thrown when the SELECT ON view fails. Basically, ORA-00936 is thrown when a SQL view is created from “create or replace view MY_VIEW as select t.*,other_tab_col from tab t, other_tab”.This creates a view definition that is incorrect in the DBA_VIEWS, thus throwing ORA-00936 and possible core dumps.In order to fix the bugs and resolve ORA-00936, MetaLink offers these solutions for the appropriate version:
Fix for 9.2.0.7 :Patch 4192148 is available for Solaris (64bit) and AIX5L Based Systems (64-bit).Fix for 10.1.0.4 :
Patch 4212516 is available for most of the platforms.

In nutshell, ORA-00936 missing expression can be resolved by carefully checking your SQL statement.

Related articles
ORA-00911: invalid character
ORA-03113: end-of-file on communication channel
ORA-00257
ORA-27154: post/wait create failed during startup
ORA-29913 with external tables
ora-20001 in Gather schema stats on 11g(FND_HISTOGRAM_COLS)
Concurrent Manager:cleanup_node failed due to ORA-01427

Did you get an ORA-00936: missing expression error? Learn what it means and how to resolve it in this article.

ORA-00936 Cause

The error you’ve gotten is this:

ORA-00936: missing expression

Oracle’s official “cause and action” that appears along with the error is:

Cause: A required part of a clause or expression has been omitted.
For example, a SELECT statement may have been entered without a list of columns or
expressions or with an incomplete expression.
This message is also issued in cases where a reserved word is misused, as in SELECT TABLE.

Action: Check the statement syntax and specify the missing component.

So, in summary, the query is missing some clause that it needs in order to run.

To resolve the ORA-00936 error:

  1. Check that your column names are all listed correctly in the SELECT clause
  2. Ensure you have a FROM clause in your SELECT statement. Even if you aren’t selecting from a table, you still need FROM in Oracle SQL, so you could use the DUAL table (LINK)
  3. Remove any commas that shouldn’t be in your query

Missing Columns

The ORA-00936 error often occurs when you leave out the columns in the SELECT clause.

For example:

SELECT
FROM students;
ORA-00936: missing expression

This is because you need to list the column names after the word SELECT and before the word FROM.

This query should work:

SELECT student_id, first_name, last_name
FROM students;

Missing FROM

This error can also occur if you don’t have a FROM keyword in your SELECT statement.

For example, this query will display an error:

SELECT first_name, last_name
WHERE student_id = 5;

There is no FROM clause in this query, so you’ll get an error.

Correct the query to add the FROM clause, so it knows which table to query.

SELECT first_name, last_name
FROM students
WHERE student_id = 5;

Remove Commas

Sometimes you have all of the right keywords, but you’re still getting the ORA-00936: missing expression error.

For example this query gives an error:

SELECT first_name, last_name,
FROM students
WHERE student_id = 5;

The reason for this is because there is a comma after the final column “last_name”, and then there is the FROM keyword.

Commas should only be used when you want to specify another column or table, and not before a keyword like we have in this example.

To correct it, remove the comma.

SELECT first_name, last_name
FROM students
WHERE student_id = 5;

ORA-00936 in UPDATE Statement

If you’re getting an ORA-00936: missing expression in an UPDATE statement, then the same steps can be taken:

  1. Check that you have all the keywords that are required (UPDATE, SET)
  2. Check there are no extra commas where there shouldn’t be.
  3. If you’re using a subquery inside the UPDATE statement, then ensure that subquery has all the right keywords and no extra commas as mentioned earlier

ORA-00936 in INSERT Statement

Just like the UPDATE statement, you can also get an ORA-00936: missing expression in an INSERT statement.

The same steps can be taken:

  1. Check that you have all of the required keywords.
  2. Check there are no extra commas
  3. Check that the number of values and the number of columns are the same
  4. If you’re using a subquery inside the INSERT statement, then ensure that subquery has all the right keywords and no extra commas as mentioned earlier

So, that’s how you resolve the ORA-00936 error in your SQL query. If you have any questions on this error, leave a comment below.

Lastly, if you enjoy the information and career advice I’ve been providing, sign up to my newsletter below to stay up-to-date on my articles. You’ll also receive a fantastic bonus. Thanks!

In my previous article, I have explained about the most common errors in Oracle. In This article, I will try to explain another most common error, which has been searched approximately 15000 times in a month by DBAs and developers. When you forget the actual syntax of the oracle select statement then the ORA-00936 missing expression error will come. While working with databases I have frequently faced ORA-00936: missing expression and struggled to solve and debug this issue. This kind of error will occur when user miss the syntax of SQL expression.

ORA-00936: missing expression is very common oracle error occurred due to the syntax of oracle statement.

Why ORA-00936 error will come?

Some Oracle mistakes are not nearly as intimidating to resolve, as the error message would seem to indicate. The ORA-00936 is the perfect example of such a case. This error provides an excellent case where thinking too hard about the answer will cost you far more time and effort than needed.

Reason for this error:

The ORA-00936 message is a missing expression error in Oracle. That entire ‘missing expression’ means is that when attempting to operate a query, a particular part of the clause necessary for it to function was omitted in the text. Stated simply, you left out an important chunk of what you were trying to run. This is most common error occurred during the syntax of SQL statement. If user failed to write or omit something in SQL query then ‘Missing Expression’ error will come.

Missing Information in Select Statement:

  If user forgets to write the columns in the select statement then missing expression error will come.

Example:

Select * from Employee;

Select from Employee;   —Error of missing expression will come.

From Clause is Omitted:

If user forgets to write the ‘from clause’ in select statement then missing expression error will come.

 ORA-00936

NO TIME TO READ CLICK HERE TO GET THIS ARTICLE

 Example:

Select * from Employee;

Select * Employee;   —Missing Expression error will come

 Resolution of the error:

As I have explained that missing expression error will come due to the bad syntax of ‘Select statement’ user needs to check the select statement is properly written or not. While working with huge queries then it is not easy for the user to find out where the actual error is. So finding out where the error is coming is important.

Resolution 1:

User needs to check the missing information from select statement. Most of the time the column names are missing in select statement.User needs to check that all columns are there in select statement.User needs to check the columns using desc command and make changes in the select statement.

Example :

Select from Employee;

It will fire that error so user needs to check the columns in Employee table using following statement:

Desc Employee;

Select Employee_Name,Employee_Number from Employee;

Resolution 2 :

Add from Clause in select statement

User needs to add ‘From’ clause at proper place in select statement.

Select * Employee;

Resolution Query :

Select * from Employee;

So these kind of errors are very easy to solve just user needs to concentrate on syntax of select statement.

Содержание

  1. How to resolve the ORA-00936 missing expression
  2. Description
  3. Cause of ORA-00936 : missing expression
  4. Check list to run to resolve the ORA-00936 missing expression error
  5. ORA-00936: missing expression | How to resolve ORA-00936 error?
  6. Why ORA-00936 error will come?
  7. NO TIME TO READ CLICK HERE TO GET THIS ARTICLE
  8. Resolution of the error:
  9. adop Errors ORA-00936: missing expression In Shared Multi Node Environment (Doc ID 1677053.1)
  10. Applies to:
  11. Symptoms
  12. Changes
  13. Cause
  14. To view full details, sign in with your My Oracle Support account.
  15. Don’t have a My Oracle Support account? Click to get started!
  16. Sql error ora 00936 отсутствует выражение 00936 00000 missing expression
  17. ORA-00936 Missing Expression.
  18. Comments

How to resolve the ORA-00936 missing expression

Description

ORA-00936 : missing expression is one of the common error everybody working in Oracle SQL must have faced some time. This generally happens when you omit important thing in the Sql statement i.e you left out an important chunk of what you were trying to run

Cause of ORA-00936 : missing expression

This Oracle error is mainly related to the SQL SELECT statements. One obvious reason is select column list is missing or expressions in the selected columns are incomplete.

Check list to run to resolve the ORA-00936 missing expression error

(1) It happens when you forget to list the column in the select statement

The correct way would be list the column you want to select

(2) We sometimes makes mistake in the usage of Distinct statement. Following statement will fail with ORA-00936

Having two distinct clause does not make sense and give error

distinct can be used in the starting only

So correct statement would be

(3) This error is caused when part of the expression is omitted , some examples are

** operators works in PLSQL but not in SQL, We need to use Power function for it, So correct way would be

(4) Another example

Here you forget to mention column name after the concatenation operator, the correct SQL would be

(5) When you add extra commas in the list of column

So we need to double check the SQL statement when we hit this error and make sure we are doing the common mistake

(6) This error will also come if you omit the From in the SQL statement

Here we missed to mention the from clause.SELECT statement has three parts: to wit: “SELECT->FROM->WHERE
You can omit where clause but select and from are necessary

(7) It can also occurs in insert statement like below

We don’t need values as in this statement

(8) We can sometimes mix up user-defined functions and Oracle functions, and doing so can lead to confused syntax that would result in an error message.So avoid them

(9) There are Oracle some bugs also
(a) Bug:4567818 base Bug#:4192148 – unpublished on 9207
(b) Bug:4212516 (unpublished) on oracle 10.1.0.4.0.
With these bugs, ORA-00936 error is thrown when the SELECT ON view fails. Basically, ORA-00936 is thrown when a SQL view is created from “create or replace view MY_VIEW as select t.*,other_tab_col from tab t, other_tab”.This creates a view definition that is incorrect in the DBA_VIEWS, thus throwing ORA-00936 and possible core dumps.In order to fix the bugs and resolve ORA-00936, MetaLink offers these solutions for the appropriate version:
Fix for 9.2.0.7 :Patch 4192148 is available for Solaris (64bit) and AIX5L Based Systems (64-bit).Fix for 10.1.0.4 :
Patch 4212516 is available for most of the platforms.

In nutshell, ORA-00936 missing expression can be resolved by carefully checking your SQL statement.

Источник

ORA-00936: missing expression | How to resolve ORA-00936 error?

In my previous article, I have explained about the most common errors in Oracle. In This article, I will try to explain another most common error, which has been searched approximately 15000 times in a month by DBAs and developers. When you forget the actual syntax of the oracle select statement then the ORA-00936 missing expression error will come. While working with databases I have frequently faced ORA-00936: missing expression and struggled to solve and debug this issue. This kind of error will occur when user miss the syntax of SQL expression.

ORA-00936: missing expression is very common oracle error occurred due to the syntax of oracle statement.

Why ORA-00936 error will come?

Some Oracle mistakes are not nearly as intimidating to resolve, as the error message would seem to indicate. The ORA-00936 is the perfect example of such a case. This error provides an excellent case where thinking too hard about the answer will cost you far more time and effort than needed.

Reason for this error:

The ORA-00936 message is a missing expression error in Oracle. That entire ‘missing expression’ means is that when attempting to operate a query, a particular part of the clause necessary for it to function was omitted in the text. Stated simply, you left out an important chunk of what you were trying to run. This is most common error occurred during the syntax of SQL statement. If user failed to write or omit something in SQL query then ‘Missing Expression’ error will come.

Missing Information in Select Statement:

If user forgets to write the columns in the select statement then missing expression error will come.

Example:

Select * from Employee;

Select from Employee; —Error of missing expression will come.

From Clause is Omitted:

If user forgets to write the ‘from clause’ in select statement then missing expression error will come.

NO TIME TO READ CLICK HERE TO GET THIS ARTICLE

Example:

Select * from Employee;

Select * Employee; —Missing Expression error will come

Resolution of the error:

As I have explained that missing expression error will come due to the bad syntax of ‘Select statement’ user needs to check the select statement is properly written or not. While working with huge queries then it is not easy for the user to find out where the actual error is. So finding out where the error is coming is important.

Resolution 1:

User needs to check the missing information from select statement. Most of the time the column names are missing in select statement.User needs to check that all columns are there in select statement.User needs to check the columns using desc command and make changes in the select statement.

Example :

It will fire that error so user needs to check the columns in Employee table using following statement:

Select Employee_Name,Employee_Number from Employee;

Resolution 2 :

Add from Clause in select statement

User needs to add ‘From’ clause at proper place in select statement.

Resolution Query :

So these kind of errors are very easy to solve just user needs to concentrate on syntax of select statement.

Источник

adop Errors ORA-00936: missing expression In Shared Multi Node Environment (Doc ID 1677053.1)

Last updated on FEBRUARY 08, 2019

Applies to:

Symptoms

On Oracle Applications 12.2.3 version, Patch Application Issues, when attempting to adop phase=prepare, the following error occurs:

The issue can be reproduced at will with the following steps:
1. Fresh install multi-node
2. In the process to upgrade to 12.2.3
3. adop phase=prepare

The issue has the following business impact:
Due to this issue, users cannot continue with the upgrade

Error in prepare phase when run adop:

SQL*Plus: Release 10.1.0.5.0 — Production on Wed Apr 2 12:34:51 2014

Copyright (c) 1982, 2005, Oracle. All rights reserved.

SQL> SQL> Connected.
SQL> where adop_session_id = 2 and appltop_id = and node_name in (‘HOST1′,’HOST2’)
*
ERROR at line 3:
ORA-00936: missing expression

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 — 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
Data Mining and Real Application Testing options

Changes

Cause

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.

Oracle offers a comprehensive and fully integrated stack of cloud applications and platform services. For more information about Oracle (NYSE:ORCL), visit oracle.com. пїЅ Oracle | Contact and Chat | Support | Communities | Connect with us | | | | Legal Notices | Terms of Use

Источник

Sql error ora 00936 отсутствует выражение 00936 00000 missing expression

Some Oracle mistakes are not nearly as intimidating to resolve as the error message would seem to indicate. The ORA-00936 is the perfect example of such a case. This error provides an excellent case where thinking too hard about the answer will cost you far more time and effort than needed.

The ORA-00936 message is a missing expression error in Oracle. All that ‘missing expression’ means is that When attempting to operate a query, a particular part of the clause necessary for it to function was omitted in the text. Stated simply, you left out an important chunk of what you were trying to run. This can happen fairly easily, but provided below are two examples that are the most common occurrence of this issue.

The first example is the product of missing information in a SELECT statement, which triggers the vast majority of ORA-00936 errors. This occurs when entering SELECT on the first line, but then failing to reference the list of columns following the SELECT. If you just enter ‘SELECT’ on line one, and then ‘FROM abc;’ on line two, the ORA-00936 message will be prompted. To fix this, go back and choose a column to input after SELECT so that line one looks something like ‘SELECT distributors_name, distributors_location’, with line two remaining the same. This will correct the error and allow the SELECT statement to process.

Conversely, the error can happen in the latter half of a SQL statement. If the FROM clause within the statement is omitted, the error message will be thrown. You will need to look back at the syntax of the statement and make sure that for items such as SELECT statements, the next line includes a FROM clause (such as ‘FROM list_of_suppliers’) so that the SELECT clause knows where to be triggering information from within the database.

The ORA-00936 error can be prevented by double-checking instances of SQL clauses and making sure that all statements are derived from the proper syntax. This, of course, extends beyond just SELECT statements but also FROM and WHERE statements as well (or any other clause meant to trigger a query). Be positive that any Oracle functions used are spelled out properly, and keep tabs of user-defined functions. It can be easy to mix up user-defined functions and Oracle functions, and doing so can lead to confused syntax that would result in an error message. The representatives at a licensed Oracle consultant firm can work with you to make sure that you understand the difference between these types of functions and have proper knowledge of the individual functions that come pre-equipped with Oracle database software.

Источник

ORA-00936 Missing Expression.

I get this error.

ORA-00936 Missing Expression.

when I execute this code (the parameters have values in them. i suspect it is a type thing).

Dim connConnection As New OleDbConnection(Application(«ERSconnectionStr»))

Dim cmdCommand As New OleDbCommand(sSQL, connConnection)

Dim prmFrequency As OleDbParameter = _
New OleDbParameter(«@Frequency», OleDbType.VarChar, 75)
prmFrequency.Value = sFrequency
cmdCommand.Parameters.Add(prmFrequency)

Dim prmCalibration As OleDbParameter = _
New OleDbParameter(«@Calibration», OleDbType.Double, 75)
prmCalibration.Value = CDbl(sCalibration)
cmdCommand.Parameters.Add(prmCalibration)

Dim prmQCValue As OleDbParameter = _
New OleDbParameter(«@QCValue», OleDbType.Double, 75)
prmQCValue.Value = CDbl(sQCValue)

cmdCommand.Parameters.Add(prmQCValue)
‘ MessageBox.show(cmdCommand.CommandText + «:Frequency=» + e.Item.Cells(2).Text + «:Calibration=» + e.Item.Cells(3).Text + «:QCValue=» + e.Item.Cells(4).Text)
Try
cmdCommand.ExecuteNonQuery()
Catch ex As OleDbException
MessageBox.show(ex.Message)
End Try
———————————————————————————————-

When I run the query.

UPDATE TBLICPMETHODS SET Frequency = ‘Ag 328.068’, Calibration = .5, QCValue = .5
WHERE Frequency = ‘Ag 328.068’ AND MethodNumber = 1

in SQL Navigator is works fine. I’m thinking the data types aren’t correct. Can someone help me line up my OLEDB data types to Oracle data types.

Oracle Table Types.
VARCHAR2
NUMBER

OLEDB Data Types.
OleDbType.VarChar
OleDbType.Double

Are these the wrong OLEDB data types to use for those oracle data types.

Incidentally, if I just execute my sql like this.

Dim sSQL As String = _
«UPDATE TBLICPMETHODS SET Frequency = ‘» & sFrequency & «‘, » & _
«Calibration = » & sCalibration & «, QCValue = » & sQCValue & «» & _
» WHERE Frequency = ‘» & Session(«EditFrequency») & «‘ AND MethodNumber = » & ddlMethods.SelectedValue

instead of using the cmdCommand.Parameters.Add method IT WORKS!!

So I’ll go ahead and use that but I really would like to know what I was doing wrong. I tried quite a few different data type permutations to no avail.

I am having the same problem. I am trying to call Update(dset, «tablname»)

When I call dset.HasChanges() it is true. If I call GetChanges() I get a row that needs to be updated. I have changed my update query to only one value. Since I need to supply the update parameters map to the dataset, I can’t just build a string with the values. The same code works connecting to Access. What is the deal with Oracle?

The program is vb.net 1.1, the Oracle is 9i.

The problem is that OLEDB doesn’t support named parameters.

If you replace the @parameter names with question marks in the SQL statement

«UPDATE TBLICPMETHODS SET Frequency = ?, » & _
«Calibration = ?, QCValue = ?»

and add the parameters in the correct order, it should work. The parameter declaration are still the same (@ symbol optional)

Otherwise you could try switching to the Oracle.NET provider.

The trick with it though is that you have to replace the @ with a : in the sql statement and leave it out of the parameter name

«UPDATE TBLICPMETHODS SET Frequency = :Frequency, » & _
«Calibration = :Calibration, QCValue = :QCVAlue» & _

Источник

Troubleshoot fix resolve ORA-00936: missing expression

_____________________________________________________________________________________________________________________

The Eucharistic Miracles of the World

ORA-00936: missing expression an Overview:

This error is related to Oracle expressions which is used in SQL or PL/Sqls . An incomplete or missing expression in DML/DDL will fire ORA-00936 error. A part of a clause or expression has been missed or omitted from the oracle expression. This is mainly related to the SELECT statement.

Some examples

Example #1

SQL> select age+ from emp;

select age+ from emp

            *

ERROR at line 1:

ORA-00936: missing expression

SQL> select name||’ ‘|| from emp;

select name||’ ‘|| from emp

                   *

ERROR at line 1:

ORA-00936: missing expression

SQL> select name||’ ‘|| last_name from emp;

NAME||»||LAST_NAME

——————————————

James

Toad

John

SQL> select 2**2 from dual;

select 2**2 from dual

         *

ERROR at line 1:

ORA-00936: missing expression

SQL> select power(3,2) from dual;

POWER(3,2)

———-

         9

Example #3

In this example, ** is used instead of power function. ** can be used in PL/SQL for exponential function but not accepted in SQLs

SQL> select mod(8,) from dual;

select mod(8,) from dual

             *

ERROR at line 1:

ORA-00936: missing expression

SQL> select mod(8,3) from dual;

  MOD(8,3)

———-

         2

Example #4

SQL>  insert into example (id) values as select id from TRANS.CONTACT_INFO;

 insert into example (id) values as select id from TRANS.CONTACT_INFO

                                 *

ERROR at line 1:

ORA-00936: missing expression

SQL>  insert into example (id) values (select id from TRANS.CONTACT_INFO);

 insert into example (id) values (select id from TRANS.CONTACT_INFO)

                                  *

ERROR at line 1:

ORA-00936: missing expression

Correct statement is

insert into example (id) select id from TRANS.CONTACT_INFO;

Ora-00936 with IMPDP

                In some cases oracle data pump utility and the job throws the ora-00936 error on existing tables in the target database.

ORA-31693: Table data object «SYSADM».»PS_JOBCODE_TBL» failed to load/unload and is being skipped due to error:
ORA-00936: missing expression

                Cause for this data pump error is either table has LONG column or the table has a unique index and impdp fired with CONTENT=DATA_ONLY TABLE_EXISTS_ACTION=TRUNCATE

This is a data pump restriction and the wrong error message is handled in bug:5598437 and permanently fixed in Oracle 11g. There are some workaround for this.

·         Migrate the LONG columns to CLOB

·         Drop the unique index before impdp on the tables with LONG columns and recreate them once after the impdp.

·         Recreate the table upon import (the table data will be lost)

How to fix ORA-00936 with SQLs

Check the SQL statement expression and correct with proper expression. Check the arguments for the functions mentioned in the expression.

Oracle Bugs related to ORA-00936 error:

There are some oracle bugs related to ORA-00936. Below mentioned are two bugs related to ORA-00936.

1) Bug:4567818 base Bug#:4192148 — unpublished on 9207

2) Bug:4212516 (unpublished) on oracle 10.1.0.4.0.

With these bugs, ORA-00936 error is thrown when the SELECT ON view fails. Basically, ORA-00936 is thrown when a SQL view is created from «create or replace view MY_VIEW as select t.*,other_tab_col from tab t, other_tab». This creates a view definition that is incorrect in the DBA_VIEWS, thus throwing ORA-00936 and possible core dumps.

In order to fix the bugs and resolve ORA-00936, MetaLink offers these solutions for the appropriate version:

Fix for 9.2.0.7 :

Patch 4192148 is available for Solaris (64bit) and AIX5L Based Systems (64-bit).

Fix for 10.1.0.4 :

Patch 4212516 is available for most of the platforms.

_____________________________________________________________________________________________________________________

Website Stats

Понравилась статья? Поделить с друзьями:
  • Sql error ora 00917 missing comma
  • Sql error ora 00907 missing right parenthesis
  • Sql error ora 00904
  • Sql error or missing database near syntax error
  • Sql error or missing database incomplete input