Thank you for the answer.
I am still not sure, which is true: you did not fully understand my question, or I did not fully understand your answer.
So, maybe, I will explain how I came to it.
I wanted to create a type with a field named VALUE, but Oracle SQL Developer highlighted that word. This usually means that it is a reserved word. So I have checked the view V$RESERVED_WORDS and saw, that the word VALUE is there, but has 'N' in all columns. This seemed confusing. They are listed in the view with reserved words, but detailed information shows they are "not reserved". I created the type and some code to work with it, and it works well (in my test examples). Another example is the keyword ID, which is also mentioned in the view. This word is often used as a name of primary key column. This code also works:
create table t (id number);
insert into t values (1);
declare
id number;
begin
select id into id from t;
end;
/
So, when I asked "What is the risk of using these words as object names or as variables in PL/SQL?" I asked about keywords like ID or VALUE - words, which has 'N' values in all columns in the view V$RESERVED_WORDS.
The video in the comment above partially answers this question: COUNT is another example of a word, which seems available for use.
So, as I understand, these "not reserved" words may be already used somewhere, and it is better to avoid them, even if nothing breaks immediately.
January 14, 2025 - 6:43 pm UTC
As mathguy noted the view name is misleading - these are keywords, not reserved words. Some of these keywords are reserved words. The flags on v$reserved_words will tell you this.
So, as I understand, these "not reserved" words may be already used somewhere, and it is better to avoid them, even if nothing breaks immediately.
Correct.