As you want the results to be returned as rows, you need the input to be in the form of a row set as well.
One way is to create such a row set dynamically, right in the query, using a series of SELECTs FROM DUAL combined with UNION ALL:
SELECT '43454235423' AS order_number FROM DUAL
UNION ALL
SELECT '45423534252' FROM DUAL
UNION ALL
SELECT '785686847856' FROM DUAL
UNION ALL
...
Another way would be to insert the input values into an actual table and use that table in the query.
Whatever way you represent the input, the next step will be to anti-join the order_table
to the input table. There are various ways of implementing an anti-join. One very common method is using NOT EXISTS:
SELECT
input.order_number,
'not found' AS status
FROM
(
SELECT '43454235423' AS order_number FROM DUAL
UNION ALL
SELECT '45423534252' FROM DUAL
UNION ALL
SELECT '785686847856' FROM DUAL
UNION ALL
...
) input
WHERE
NOT EXISTS
(
SELECT
*
FROM
order_table o
WHERE
o.order_number = input.order_number
)
;
You can also use NOT IN:
SELECT
order_number,
'not found' AS status
FROM
(
SELECT '43454235423' AS order_number FROM DUAL
UNION ALL
SELECT '45423534252' FROM DUAL
UNION ALL
SELECT '785686847856' FROM DUAL
UNION ALL
...
)
WHERE
order_number NOT IN
(
SELECT
order_number
FROM
order_table o
)
;
Another common technique is LEFT JOIN + IS NULL:
SELECT
input.order_number,
'not found' AS status
FROM
(
SELECT '43454235423' AS order_number FROM DUAL
UNION ALL
SELECT '45423534252' FROM DUAL
UNION ALL
SELECT '785686847856' FROM DUAL
UNION ALL
...
) input
LEFT JOIN order_table ot ON o.order_number = input.order_number
WHERE
o.id IS NULL
;
And then there is also MINUS (Oracle's equivalent of the SQL standard's EXCEPT operator):
SELECT
order_number,
'not found' AS status
FROM
(
SELECT '43454235423' AS order_number FROM DUAL
UNION ALL
SELECT '45423534252' FROM DUAL
UNION ALL
SELECT '785686847856' FROM DUAL
UNION ALL
...
)
MINUS
SELECT
order_number,
'not found' AS status
FROM
order_table
;