ORA-00947

ORA-00947 not enough values

What causes an ORA-00947 error?

This error occurs when a SQL statement requires two sets of values equal in number, but the second set contains fewer items than the first set. This can occur in a WHERE or HAVING clause in which a nested SELECT returns too few columns as in:

WHERE (A,B) IN (SELECT C FROM …)

Another common cause of this error is an INSERT statement in which the VALUES or SELECT clause does not contain enough values needed for the INSERT, as in

INSERT INTO EMP(EMPNO,ENAME) VALUES(‘JONES’)

How Xynomix can help

Check the number of items in each set and change the SQL statement to make them equal.

Contact us for more information. To learn more about ways we can support your database visit our Oracle database consultancy page.

Contact Us


    On submitting this form, Xynomix will store your details and may contact you in relation to your request. For more information on how we process data, please see our privacy notice.

    “We have utilised Xynomix consultancy for multiple projects. Most recently we have enlisted their consultants help to complete an Oracle database migration to new servers. As part of this Xynomix used their specialist knowledge to set up an appropriate backup and data retention policy in line with industry best practice. The work was, as always, completed in a timely, efficient manner.”