Ora 00936 missing expression что значит
Перейти к содержимому

Ora 00936 missing expression что значит

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

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:

[STATEMENT] [END 2014/04/02 12:33:42] Running AutoConfig
[STATEMENT] Content in remote input file : <nodename=node2>
[STATEMENT] Content in remote input file : <command= <DIR>/DEV/fs1/EBSapps/appl/ad/12.0.0/bin/adconfig.sh contextfile=<DIR>/fs2/inst/apps/<CONTEXT_NAME>/appl/admin/<CONTEXT_NAME>.xml log=<DIR>/DEV/fs_ne/EBSapps/log/adop/2/prepare_20140402_121445/<CONTEXT_NAME>/adconfig.log>
[STATEMENT] Executing <autoconfig> action in all nodes
Running in Serial
xml output = <DIR>/<SID>/fs1/EBSapps/appl/admin/<SID>_BALANCE/log/remote_execution_result.xml
*******FATAL ERROR*******
PROGRAM : (<DIR>/<SID>/fs1/EBSapps/appl/ad/12.0.0/bin/adzdoptl.pl)
TIME : Wed Apr 2 12:34:51 2014
FUNCTION: TXK::SQLPLUS::_doExecute [ Level 3 ]
MESSAGES:
SQLPLUS error: buffer=

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

Symptoms
Changes
Cause
Solution
References

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 | Facebook | Twitter | Linked In | Legal Notices | Terms of Use

Oracle / PLSQL: ORA-00936 Error Message

Learn the cause and how to resolve the ORA-00936 error message in Oracle.

Description

When you encounter an ORA-00936 error, the following error message will appear:

  • ORA-00936: missing expression

Cause

You tried to execute a SQL statement but you omitted a part of the syntax.

Resolution

The option(s) to resolve this Oracle error are:

Option #1

This error most commonly occurs when you try to execute a SELECT statement and forget to the list of the columns in the SELECT statement.

For example, you tried to execute the following SELECT statement:

You would receive the following error message:

Oracle PLSQL

You can correct the SELECT statement by including columns after the SELECT keyword. For example:

ORA-00936 отсутствует выражение

У вас небольшая ошибка. Но ваш подход не является хорошим. Если у вас нет значения в col_1. вы не можете получить никаких результатов с помощью SELECT MAX(COL_1) FROM TABLE1 . И если у вас есть какое-то значение в col_1.. тогда вы всегда ставите максимальное значение (постоянное значение) в первый столбец.. Который, похоже, не меняется при таком подходе.. Кстати, чего вы хотите достичь? — Sami

Я думаю, вы пытаетесь сделать что-то вроде вставки max(id)+1.. Вы знаете об автоматическом увеличении? — Sami

3 ответы

Если вы хотите использовать результат запроса в виде скалярного выражения, заключите весь (под)запрос в скобки, например:

С другой стороны, вы можете просто использовать другой синтаксис, Вот:

Эти два решения имеют два совершенно разных результата. Первый вставляет одну строку, второй вставляет одну строку для каждой записи ib TABLE1. — APC

@APC: Странно, в SQL Server нет разницы: ВСТАВКА №1, ВСТАВКА №2. Я имею в виду, что я никогда не ожидал, что эти два варианта будут отличаться и в Oracle. В любом случае, самое странное, что я даже проверить не могу второй в Oracle (т.е. в Oracle SQL Fiddle, у меня нет другого доступного Oracle.) Он продолжает говорить мне, что команда не завершена должным образом. Должно быть что-то, о чем я должен знать INSERT. SELECT в Oracle это не кажется достаточно очевидным (для меня) из руководства. — Андрей М

На самом деле мой комментарий был неправильным. Второе решение не побегу без предложения GROUP BY. С предложением GROUP BY будет возвращена одна строка. — APC

Я думаю, что есть проблема с SQL Fiddle. Синтаксис INSERT INTO. SELECT должен работать. — APC

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *