- 5.6K All Categories
- 24 Introduce Yourself!
- 576 Community Feedback - NEW! (No Product Questions)
- 154 General Community Platform Concerns/Kudos/Feedback
- 107 Community Platform Bug Reports
- 103 How Do I Use the Community?
- 86 Where is the...? (Community Platform Locations)
- 23 Ideas and Suggestions for the Community Platform
- 73 Personal Document & Blog Archive
- 6 Community Programs
- 6 Get-Togethers
- 4.9K Certification Community
- 4.7K Certification Community Discussions
- 26 Oracle Certified Master Profiles
- 33 Oracle Database 12c Administrator Certified Master Profiles
- 111 Visual Builder Cloud Service
Matthew Morris PL/SQL 1Z0-144 exam study guide errors - 1
I am going through the Study Guide for 1Z0-144 Oracle DB 11g Program with PL/SQL Oracle Certification Prep book by MATTHEW MORRIS. This has a published year of 2012.
I have found these errors in this book.
In Page 19: MM says that "quoted user-defined identifiers" cannot have double-quotation marks which is true. But he also says that new line and null characters are not allowed.
But I just ran a block where these 2 are also accepted
My DB is a Oracle Database 11g Express Edition Release 22.214.171.124.0 - 64bit Production.
DECLARE " asfsf " number; -- null characters " " NUMBER; -- null variable " bbb chr(10) yyy " number; -- New line is chr(10); BEGIN " asfsf " := 333; " " := 444; " bbb chr(10) yyy " := 555; dbms_output.put_line(" asfsf "); dbms_output.put_line(" "); dbms_output.put_line(" bbb chr(10) yyy "); END; 333 444 555
Also, in the same page in the last paragraph MM says
"A quoted user-defined identifier is case-sensitive, with one exception. If a quoted user-defined identifier is a valid ordinary user-defined identifier, then the double-quotation marks are optional. If the quotes are left off, then the identifier is case-sensitive"
There are 2 problems here. Because this works:
DECLARE "abc" number := 5; BEGIN dbms_output.put_line("abc"); END; 5
While this does NOT.
DECLARE "abc" number := 5; BEGIN dbms_output.put_line(abc); END; Error starting at line 1 in command: DECLARE "abc" number := 5; BEGIN dbms_output.put_line(abc); END; Error report: ORA-06550: line 4, column 24: PLS-00201: identifier 'ABC' must be declared ORA-06550: line 4, column 3: PL/SQL: Statement ignored 06550. 00000 - "line %s, column %s:\n%s" *Cause: Usually a PL/SQL compilation error. *Action: Elapsed: 00:00:01.348
Oracle should treat abc as "abc" but it giving an error.
Also there is a typo in the above quote by MM. Shouldn't it be?
If the quotes are left on, then the identifier is case-sensitive
I hope MM and other forum members can help sort this out.