ORACLE · 1Z0-149

Oracle 1Z0-149 Exam Practice Questions

65 questionsPDF by emailUpdated September 2026

US$39

Try 10 questions free

Card, Apple Pay or Google Pay. Your PDF is sent by email as soon as you check out.

Pass or your money backFail the exam after using this pack and we refund it. How the guarantee works
Category:
TRY BEFORE YOU BUY

Three of the 65 questions in this pack

Question 1

Which two PL/SQL elements can be deprecated using the DEPRECATE pragma? (Choose two.)

  1. PACKAGES
  2. VARIABLES
  3. ANONYMOUS BLOCK
  4. TRIGGER BODY
  5. DATABASE LINKS
Show answer and explanation

Correct answer: A, B

A. PACKAGES B. VARIABLES The DEPRECATE pragma in PL/SQL can be applied to packages and procedures/functions (as subprogram units within packages). When a package or its contained subprograms are marked as deprecated, the compiler issues warnings when they are used. Variables, anonymous blocks, trigger bodies, and database links cannot be directly deprecated using this pragma.

Why the other options are wrong

  • C. Anonymous blocks are not stored objects and cannot be deprecated.
  • D. Trigger bodies cannot be marked as deprecated using the DEPRECATE pragma.
  • E. Database links are not PL/SQL program units and cannot be deprecated.

Question 2

Which three are true about functions and procedures? (Choose three.)

  1. The ACCESSIBLE BY clause can be used only for procedures.
  2. In a function, every execution path must lead to a RETURN statement.
  3. Both can have only constants as actual parameters for IN mode parameters.
  4. Both can be invoked from within SQL statements.
  5. In a procedure the RETURN statement cannot specify an expression.
  6. In a function every RETURN statement must specify an expression.
Show answer and explanation

Correct answer: B, E, F

B. In a function, every execution path must lead to a RETURN statement. E. In a procedure the RETURN statement cannot specify an expression. F. In a function every RETURN statement must specify an expression. Functions must have every execution path reach a RETURN statement (B is true). In procedures, RETURN can exist without an expression, ending execution early (E is true). In functions, every RETURN statement must specify an expression to return a value (F is true). The ACCESSIBLE BY clause applies to both procedures and functions, not just procedures. Both cannot restrict parameters to constants only, they accept expressions. Both can be invoked from SQL, but functions are more commonly used in SQL statements.

Why the other options are wrong

  • A. The ACCESSIBLE BY clause can be used for both procedures and functions, not only procedures.
  • C. Both can accept expressions as actual parameters for IN mode parameters, not just constants.
  • D. Functions can be invoked from SQL statements in expressions, while procedures typically cannot be called directly from SQL.

Question 3

Which two are true about Conditional Compilation in PL/SQL using $IF, $ELSE, $END, and $ERROR? (Choose two.)

  1. PL/SQL code can be compiled and executed based on different versions of the operating system.
  2. PL/SQL code can be compiled and executed based on different versions of Oracle.
  3. It is newer syntax that works the same way as 'IF , ELSEIF , ELSE, and END IF'.
  4. Conditional compilation is disabled by default.
  5. The PL/SQL compiler can conditionally include selected parts of a program.
Show answer and explanation

Correct answer: B, E

B. PL/SQL code can be compiled and executed based on different versions of Oracle. E. The PL/SQL compiler can conditionally include selected parts of a program. Conditional compilation allows PL/SQL code to be compiled and executed based on different versions of Oracle (B is true), using compilation flags and directives like $IF and $ELSE. The PL/SQL compiler can conditionally include selected parts of a program based on these compile-time conditions (E is true). Conditional compilation is not the same as regular IF statements, it operates at compile time, not runtime. It is not disabled by default; it is available when compilation flags are set. While it can work with version flags, the feature is primarily Oracle version–aware rather than OS version–aware.

Why the other options are wrong

  • A. Conditional compilation is primarily Oracle version-aware, not operating system version-aware.
  • C. Conditional compilation operates at compile time using directives, unlike regular IF/ELSE/END IF which operate at runtime.
  • D. Conditional compilation is enabled and available when compilation flags are configured.

See all 10 free questions Get the full pack, US$39

65 practice questions for Oracle Database Program with PL/SQL (1Z0-149), with full explanations.

Every question comes with the correct answer, the reasoning behind it, and a short note on why each wrong option is wrong. Work through it once with the answers, then again with the questions-only copy under exam conditions.

  • 65 questions mapped to the 1Z0-149 exam topics
  • Answers and explanations for every question, including the wrong options
  • A questions-only PDF for timed practice runs
  • Instant delivery by email the moment you check out
  • Free monthly updates for as long as the exam is live
  • Pass or your money back

A failed 1Z0-149 attempt costs US$245. This pack is US$39, paid once.

Try 10 questions free before you buy.

Last updated September 2026 · 65 questions

What makes the 1Z0-149 hard

1Z0-149 is the current PL/SQL developer exam, and it pairs with 1Z0-071 SQL to make the Oracle Certified Professional, Oracle Database PL/SQL Developer credential. It replaced 1Z0-144, and it is a code-reading exam: most questions show a block, a package or a trigger and ask what it does, what it outputs, or why it fails to compile, so the syntax has to be second nature and the rules about scope, exceptions and transactions have to be exact.

The topics run from blocks to the compiler. The fundamentals cover anonymous blocks, declarations and data types, control structures, composite types with records, associative arrays, nested tables and VARRAYs, and bulk processing with BULK COLLECT and FORALL. SQL in PL/SQL covers implicit and explicit cursors, cursor FOR loops, cursor parameters, FOR UPDATE and WHERE CURRENT OF, and dynamic SQL with EXECUTE IMMEDIATE and DBMS_SQL. Exception handling covers predefined, non-predefined and user-defined exceptions, RAISE_APPLICATION_ERROR, propagation and the rules about where an exception is caught. Subprograms cover procedures, functions and their parameter modes, invoker’s and definer’s rights, using functions in SQL, packages with public and private components, overloading, forward declarations, package state and initialisation, and the Oracle-supplied packages such as DBMS_OUTPUT and UTL_FILE. Triggers cover DML, compound, INSTEAD OF and system triggers and the mutating table problem.

About the exam

1Z0-149 (Oracle Database Program with PL/SQL) is one of the two exams for the Oracle Certified Professional, Oracle Database PL/SQL Developer credential, alongside 1Z0-071 Oracle Database SQL. It covers PL/SQL fundamentals, cursors and dynamic SQL, exception handling, procedures, functions, packages and triggers, dependencies, the PL/SQL compiler and code management. Prerequisite for the credential: 1Z0-071.

Exam topics

  • PL/SQL fundamentals, composite types and bulk processing
  • Cursors and dynamic SQL
  • Exception handling
  • Procedures, functions and packages
  • Triggers
  • Dependencies, the PL/SQL compiler and code management

Oracle does not publish weightings for these topics. Multiple-choice questions, 90 minutes, passing score 65%, US$245 per attempt, delivered through Oracle MyLearn online proctored or Pearson VUE, certification does not expire.

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Questions before you buy

What do I get when I buy the Oracle 1Z0-149 pack?

65 practice questions as a PDF, each with the correct answer, a full explanation and a note on why the other options are wrong, plus a separate questions-only PDF for timed practice.

How quickly do I receive it?

Your PDF is prepared and sent to your email address after checkout, and you get a confirmation as soon as it is on its way.

Is there a free sample?

Yes. Ten questions from this pack, with answers and explanations, are free on this page and as a PDF, so you can judge the quality before you pay.

Are updates included?

Yes. The pack is updated every month for as long as the exam is live, and updates are free for everyone who has bought it.

What if I fail the exam?

We refund the pack. Sit the exam 7 to 30 days after buying, then send your official score report within 7 days of the exam date, as set out in the refund policy.

Can I share it with colleagues?

Each purchase is licensed to one person. For a team, school or training organisation, email support@certstash.com for a licence that fits.