Oracle PL/SQL ORA-00947 Not Enough Values Error Oracle PL / SQL ORA-00947 Не вистачає Цінності помилку
In Oracle database, the following error message may appear when an incorrect SQL statement is used, in SQL Plus or in anywhere that send SQL queries to the databases such as stored procedure or external programs. У базі даних Oracle, наступне повідомлення про помилку може з'явитися, коли один невірний SQL заяву використовується в SQL Plus або в будь-якому місці, що відправляти SQL запитів до баз даних, таких як збережених процедур або зовнішніх програм.
PL/SQL: SQL Statement ignored PL / SQL: SQL заяву проігнорували
PL/SQL: ORA-00947: not enough values PL / SQL: ORA-00947: не вистачає цінності
The reason for ORA-00947 error is when a SQL statement requires two sets of value, ie number of number of columns and its value that are specified in the SQL to be equal in number. Причиною ORA-00947 помилка, коли SQL заяву вимагає дві вартості, тобто число число стовпців і її вартість, зазначені в SQL бути однакові за чисельністю. But the second part of the query which is column values contains fewer items than the first part which is the number of columns. Але друга частина запиту, що містить стовпець значень менше питань, ніж перша частина, яка є число стовпців. The error may happens in all kind of SQL statements – Insert, Update or Select – and it can also occur in a WHERE or HAVING clause in which a nested sub-SELECT returns too few columns. Ця помилка відбувається в травні будь-які заяви SQL - INSERT, UPDATE або вибір - і вона може також виникати в ДЕ або положення, в якому на південь від вкладених SELECT повертає занадто мало стовпчиків. If the SQL does not specify columns, it means that the values entered are less that the columns existed in the table in database. Якщо SQL не уточнюється колонами, це означає, що значення набув меншою мірою про те, що існували в колонках таблиці в базі даних.
For example, the ORA-00947 error will be returned if you try to execute the following SQL statements: Наприклад, ORA-00947 помилка буде повернута, якщо ви намагаєтеся виконати наступні SQL заяви:
INSERT INTO Customers (Customer_ID, Customer_Name, Birthday) VALUES ('1′, 'My Customer'); INSERT INTO Клієнти (Customer_ID, Customer_Name, народження) VALUES ('1 ',' Моя клієнтів ');
or або
SELECT * FROM Customers WHERE (Customer_ID, Customer_Name) IN (SELECT Customer_ID FROM Orders); SELECT * FROM Клієнти де (Customer_ID, Customer_Name) IN (SELECT Customer_ID З Накази);
To solve the error and correct the problem, check that the number of values provided in the column values part is equal that the columns specified, or the number of columns in table, and change the SQL statement to make them equal. Щоб вирішити цю помилку і виправити цю проблему, переконайтеся в тому, що число значень у стовпці значень частини рівні, що колонки вказано, або число стовпців в таблиці, і змінити SQL заяву, щоб зробити їх рівними.
You can either reduce the number of columns, or increase the number of values provided to the column to make the SQL statement equaled. Ви можете зменшити число стовпців, або збільшити кількість значень, що надаються колонці зробити SQL заяву склали. This applies to the nested SQL statements with HAVING or WHERE clause too. Це відноситься і до вкладених SQL заяв з наявністю або де становище теж. For example, the correct SQL statements should be like the following: Наприклад, правильний SQL заяви повинен бути наступним:
INSERT INTO Customers (Customer_ID, Customer_Name, Birthday) VALUES ('1′, 'My Customer', '08/08/1988′); INSERT INTO Клієнти (Customer_ID, Customer_Name, народження) VALUES ('1 ',' Моя клієнтів ','08 / 08/1988');
or або
INSERT INTO Customers (Customer_ID, Customer_Name) VALUES ('1′, 'My Customer'); INSERT INTO Клієнти (Customer_ID, Customer_Name) VALUES ('1 ',' Моя клієнтів ');
or або
SELECT * FROM Customers WHERE (Customer_ID, Customer_Name) IN (SELECT Customer_ID, Customer_Name FROM Orders); SELECT * FROM Клієнти де (Customer_ID, Customer_Name) IN (SELECT Customer_ID, Customer_Name Накази ОТ);
or або
SELECT * FROM Customers WHERE (Customer_ID) IN (SELECT Customer_ID FROM Orders); SELECT * FROM Клієнти де (Customer_ID) IN (SELECT Customer_ID З Накази);
IMPORTANT : The page is machine translated and provided "as is" without warranty. Увага: Ця сторінка машина переведена і надаються "як є" без гарантії. Machine translation may be difficult to understand. Машинний переклад може бути важким для розуміння. Please refer to Будь ласка, зверніться до original English article Англійська оригінальні статті whenever possible. коли це можливо.
Related Articles Статті по темі
- ORA-00942 Table or View Does Not Exist Oracle Error ORA-00942 Таблиця або зору не існує Помилка Oracle
- ORA-02449 Oracle Drop Table Error ORA-02449 Oracle Drop Table помилку
- Easily Duplicate, Copy or Backup Tables in Oracle, PostgreSQL, DB2 and SQLite with Create Table As SQL Легко дублювання, копіювання або резервного копіювання таблиць в Oracle, PostgreSQL, DB2 та SQLite з CREATE TABLE Як SQL
- Oracle ORA-14074 Create or Add New Partition Fails Error Oracle ORA-14074 створювати або додавати нові розділи Збій помилку
- Create, Add or Split Oracle Database Partition Fails with ORA-14080 Error Створити Додати або Спліт Oracle Database розділу Збій з ORA-14080 Помилка
- Oracle EXP-00091 Error When Export Database Oracle EXP-00091 Помилка Коли Експортувати База
- ORA-25153 Temporary Tablespace is Empty Error in Oracle ORA-25153 тимчасової таблиці порожній Помилка в Oracle
- Oracle ORA-01658 Unable to Create INITIAL Extent for Segment in Tablespace Error Oracle ORA-01658 Не вдається створити Початковий ступеня сегмент таблиць помилку
- Oracle Database Import Error 3113/3114 Oracle Database Імпорт Помилка 3113/3114
- IMP-00013 Oracle Import Error IMP-00013 Oracle Імпорт помилку









































