Hi @kevinnay,
Continuing from what @tobias.koetter has mentioned, I thought it may be worth noting that double-quoting column names in Oracle isn’t only necessary when there are spaces in the name, although that would of course be one use case.
Oracle, like most SQL databases is case-sensitive under the hood when it comes to column and table names, although that isn’t immediately apparent because if you don’t include them inside double quotes it will treat identifiers as upper case regardless of the case used to type them. So if you never double quote anything, you’d never need to, regardless of what case you type
As you know, all of the following will work:
select sysdate from dual;
select sysdate from DuAl;
select SysDate from Dual;
select sysdate from "DUAL";
because in all of the above, Oracle “sees” the unquoted identifers as in fact being upper case
i.e.
select SYSDATE from DUAL
and that’s all good because SYSDATE and DUAL are held in the database in uppercase. What this means though is that this will fail:
select sysdate from "dual";
and so will this:
select "sysdate" from DUAL;
because there is no table called dual in lower case, and nor is lower case “sysdate
” a known pseudo-column identifier.
KNIME assumes that the column names that you have in your data tables are likely to be the same as the column names in your database. As the Oracle database is in fact case-sensitive, it will therefore add double-quotes to ensure this case-sensitivity is maintained. So that I would think is the reasoning behind having quoted identifiers turned on by default.
Mind you, speaking personally I cannot envisage ever wanting to put myself through the pain of having anything other than upper case column and table names in my database, and having to type double quotes in all my queries outside of KNIME, which I imagine is where you find yourself too.