Oracle PL/SQL Programming

( 17 )

Overview

Considered the best Oracle PL/SQL programming guide by the Oracle community, this definitive guide is precisely what you need to make the most of Oracle’s powerful procedural language. The sixth edition describes the features and capabilities of PL/SQL up through Oracle Database 12c Release 1.

Hundreds of thousands of PL/SQL developers have benefited from this book over the last twenty years; this edition continues that tradition. With extensive code examples and a lively sense ...

See more details below
Paperback (Sixth Edition)
$45.17
BN.com price
(Save 35%)$69.99 List Price

Pick Up In Store

Reserve and pick up in 60 minutes at your local store

Other sellers (Paperback)
  • All (14) from $33.49   
  • New (10) from $41.34   
  • Used (4) from $33.49   
Oracle PL/SQL Programming

Available on NOOK devices and apps  
  • NOOK Devices
  • Samsung Galaxy Tab 4 NOOK 7.0
  • Samsung Galaxy Tab 4 NOOK 10.1
  • NOOK HD Tablet
  • NOOK HD+ Tablet
  • NOOK eReaders
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac
  • NOOK for Web

Want a NOOK? Explore Now

NOOK Book (eBook)
$31.99
BN.com price
(Save 42%)$55.99 List Price

Overview

Considered the best Oracle PL/SQL programming guide by the Oracle community, this definitive guide is precisely what you need to make the most of Oracle’s powerful procedural language. The sixth edition describes the features and capabilities of PL/SQL up through Oracle Database 12c Release 1.

Hundreds of thousands of PL/SQL developers have benefited from this book over the last twenty years; this edition continues that tradition. With extensive code examples and a lively sense of humor, this book explains language fundamentals, explores advanced coding techniques, and offers best practices to help you solve real-world problems.

  • Get PL/SQL programs up and running quickly, with clear instructions for executing, tracing, testing, debugging, and managing code
  • Understand new 12.1 features, including the ACCESSIBLE_BY clause, WITH FUNCTION and UDF pragma, BEQUEATH CURRENT_USER for views, and new conditional compilation directives
  • Take advantage of extensive code samples, from easy-to-follow examples to reusable packaged utilities
  • Optimize PL/SQL performance with features like the function result cache and Oracle utilities such as PL/Scope and the PL/SQL hierarchical profiler
  • Build modular, easy-to-maintain PL/SQL applications using packages, procedures, functions, and triggers


Devoted entirely to the PL/SQL (Procedural Language extension to SQL), this second edition of Oracle PL/SQL Programming updates the first edition for Oracle8, and includes chapters on new PL/SQL object features (object types, collections, object views, and external procedures). The first three chapters of the book explain what it means to program in PL/SQL, and then walk you through the main features of the language, programming habits, and effective coding style. It then moves on to basic PL/SQL programming components such as variables, cursors, conditional and sequential control statements, loops, exception handlers, PL/SQL records, and PL/SQL tables. Part three of the book covers built-in functions such as character, date, numeric, LOB, and conversion functions that can be put to use immediately in your applications. Moving forward, you will learn how to build procedures, functions, and packages correctly. Chapters 18 through 21 give an in-depth coverage of the new features of Oracle8. Learn about object types, nested tables and VARRAYs, object views, and external procedures. Armed with a summary of helpful tips for effective PL/SQL programming in the real world, part six of the book shows you how to manage your PL/SQL code and debug, tune, and trace the execution of your programs. The text contains numerous examples to guide you as to how, when, and where to apply programming constructs most effectively. Appendices A through C contain a summary of contents on the companion disk, how to call stored procedures from PL/SQL Version 1.1, and how to call Oracle's built-in packages.

Read More Show Less

Editorial Reviews

From Barnes & Noble

Fatbrain Review

Devoted entirely to the PL/SQL (Procedural Language extension to SQL), this second edition of Oracle PL/SQL Programming updates the first edition for Oracle8, and includes chapters on new PL/SQL object features (object types, collections, object views, and external procedures). The first three chapters of the book explain what it means to program in PL/SQL, and then walk you through the main features of the language, programming habits, and effective coding style. It then moves on to basic PL/SQL programming components such as variables, cursors, conditional and sequential control statements, loops, exception handlers, PL/SQL records, and PL/SQL tables. Part three of the book covers built-in functions such as character, date, numeric, LOB, and conversion functions that can be put to use immediately in your applications. Moving forward, you will learn how to build procedures, functions, and packages correctly. Chapters 18 through 21 give an in-depth coverage of the new features of Oracle8. Learn about object types, nested tables and VARRAYs, object views, and external procedures. Armed with a summary of helpful tips for effective PL/SQL programming in the real world, part six of the book shows you how to manage your PL/SQL code and debug, tune, and trace the execution of your programs. The text contains numerous examples to guide you as to how, when, and where to apply programming constructs most effectively. Appendices A through C contain a summary of contents on the companion disk, how to call stored procedures from PL/SQL Version 1.1, and how to call Oracle's built-in packages.
Booknews
New edition which adds chapters describing PL/SQL in terms of object features and tuning, and includes expanded discussions of debugging and tracing execution. Twenty-six chapters discuss topics including programming, language elements, built-in functions, modular code, and new PL/SQL8 features. The included disk contains the Oracle PL/SQL programming utilities guide which offers approximately 100 files of source code and documentation. Annotation c. by Book News, Inc., Portland, Or.
Read More Show Less

Product Details

  • ISBN-13: 9781449324452
  • Publisher: O'Reilly Media, Incorporated
  • Publication date: 2/17/2014
  • Edition description: Sixth Edition
  • Edition number: 6
  • Pages: 1392
  • Sales rank: 234,446
  • Product dimensions: 7.00 (w) x 9.20 (h) x 2.50 (d)

Meet the Author

Steven Feuerstein is considered to be one of the world's leading experts on the Oracle PL/SQL language, having written ten books on PL/SQL, including Oracle PL/SQL Programming and Oracle PL/SQL Best Practices (all published by O'Reilly Media). He has also published his first book for kids: http://stevenfeuerstein.com/vivianvultur​e. Steven has been developing software since 1980, spent five years with Oracle (1987-1992), and served as PL/SQL Evangelist for Quest Software (and then Dell) from January 2001 to February 2014. He is an Oracle ACE Director and writes regularly for Oracle Magazine, which named him the PL/SQL Developer of the Year in both 2002 and 2006. He is also the first recipient of ODTUG's Lifetime Achievement Award (2009). Steven's latest initiative is the PL/SQL Challenge (http://www.plsqlchallenge.com), a daily quiz for PL/SQL developers; hundreds of programmers play each day. Check it out and join the fun! Steven's online technical cyberhome is located at www.ToadWorld.com/SF. You can also catch up on his latest, mostly non-PLSQL rants at http://feuerthoughts.blogspot.com.

Bill Pribyl is the primary author of Learning Oracle PL/SQL and the coauthor of Oracle PL/SQL Programming and its companion pocket reference, all from O'Reilly Media. He is oddly proud of having used PL/SQL to write TCP/IP networking clients, tnsping callouts, near-realtime commodity price loaders, and transcendental functions. Bill, who holds a degree in physics from Rice University, is the former editor of the IOUG technical journal (Select) and former president of the South Central Oracle Users Group. At home with his family in Houston, Texas, Bill's current nonbillable titles include Webmaster for his neighborhood civic club, "IT Guy" for his son's Boy Scout troop, and Eucharistic Adoration Coordinator for his church. Visit Bill's firm at http://www.datacraft.com.

Read More Show Less

Read an Excerpt


From Chapter: Variables and Program Data

...The LONG datatype

A variable declared LONG can store variable-length strings of up to 32760 bytes--this is actually seven fewer bytes than allowed in VARCHAR2 type variables! The LONG datatype for PL/SQL variables is quite different from the LONG datatype for columns in the Oracle Server. The LONG datatype in Oracle7 can store character strings of up to two gigabytes or 231-1 bytes; this large size makes the LONG column a possible repository of mulitmedia information, such as graphics images.

As a result of these maximum length differences, you can always insert a PL/SQL LONG variable value into a LONG database column, but you cannot select a LONG database value larger than 32760 bytes into a PL/SQL LONG variable.

In the Oracle database, there are many restrictions on how the LONG column can be used in a SQL statement; for example:

  • A tale may not contain more than one single LONG column.
  • Yoiu may not use the LONG column in a GROUP BY, ORDER BY, WHERE, or CONNECT BY clause.
  • You may not apply character functions (such as SUBSTR, INSTR, or LENGTH), to the LONG column.
PL/SQL LONG variables are free of these restrictions. In your PL/SQL code you can use a variable declared LONG just as you would a variable declared VARCHAR2. You can apply character functions to the variable. You can use it in the WHERE clause of a SELECT or UPDATE statement. This all makes sense given that, at least from the standpoint of the maximum size of the variables, there is really little difference between VARCHAR2 and LONG in PL/SQL.

Given the fact that aVARCHAR2 variable actually has a higher maximum length than the LONG and has no restrictions attached to it, I recommend that you always use the VARCHAR2 datatype in PL/SQL programs. LONGs have a place in the RDBMS, but that role is not duplicated in PL/SQL. This makes some sense since you will very rarely want to manipulate truly enormous strings within your program using such functions as SUBSTR or LENGTH or INSTR.

The RAW datatype

The RAW datatype is used to store binary data or other kinds of raw data, such as a digitized picture or image. A RAW variable has the same maximum length as VARCHAR2 (32767 bytes), which must also be specified when the variable is declared. The difference between RAW and VARCHAR2 is that PL/SQL will not try to interpret raw data. Within the Oracle RDBMS this means that Oracle will not perform character set conversions on RAW data when it is moved from one system (based, for example, on 7-bit ASCII) to another system.

Once again, there is an inconsistency between the PL/SQL maximum length for a RAW variable (32767) and the RDBMS maximum length (255). As a result, you cannot insert more than 255 bytes of your PL/SQL RAW variable's value into a database column. You can, on the other hand, insert the full value of a PL/SQL RAW variable into a column with type LONG RAW, which is a two-gigabyte container for raw data in the database.

The LONG RAW datatype

The LONG RAW datatype stores raw data of up to 32760 bytes and is just like the LONG datatype excerpt that the data in a LONG RAW variable is not interpreted by PL/SQL.

Given the fact that a RAW variable actually has a higher maximum length than the LONG RAW and has no restrictions attached to it, I recommended that you always use the RAW datatype in PL/SQL programs. LONG RAWs have a place in the RDBMS, but that role is not duplicated in PL/SQL.

The ROWID datatype

In the Oracle RDBMS, ROWID is a pseudocolumn that is part of every table you create. the rowid is an internally generated and maintained binary value which identifies a row of data in your table. It is called a pseudocolumn because a SQL statement includes it in places where you would normally use a column. However, it is not a column that you create for the table. Instead, the RDBMS generates the rowid for each row as it is inserted into the database. The information in the rowid provides the exact physical location of the row in the database. You cannot change the value of a rowid.

You can use the ROWID datatype to store rowids from the database in your PL/SQL program. You can SELECT or FETCH the rowid for a row into a ROWID variable. To manipulate rowids in Oracle8, you will want to use the built-in package, DBMS_ROWID (see Appendix C, Built-In Packages). In Oracle7, you will use the ROWIDTOCHAR function to convert the rowid to a fixed-length string and then perform operations against that string.

In Oracle7, for format of the fixed-length rowid is as follows:

BBBBBBB.RRRR.FFFFF

Components of this format have the following meanings:

BBBBBBB

The block in the database file

RRRR

The row in the clock (where the first row is zero, not one)

FFFFF

The database file

All these numbers are hexadecimal; the database file is a number which you would then use to look up the actual name of the database file through the data dictionary.

In Oracle8, rowid have been "extended" to support partitioned tables and indexes. The new, extended rowids include a data object number, identifying the database segment. Any schema object found in the same segment, such as a cluster of tables, will have the same object number. In Oracle8, then, a rowid contains the following information:

  • The data object number
  • The data file (where the first file is 1)
  • The data block within the data file
  • The row in the data block (where the first row is 0)
Oracle8 provides functions in the DBMS_ROWID package to convert between the new formats of rowids...
Read More Show Less

Table of Contents

Foreword
Preface
1 Introduction to PL/SQL 3
2 PL/SQL Language Fundamentals 33
3 Effective Coding Style 47
4 Variables and Program Data 83
5 Conditional and Sequential Control 131
6 Cursors 149
7 Loops 201
8 Exception Handlers 227
9 Records in PL/SQL 265
10 PL/SQL Tables 291
11 Character Functions 339
12 Date Functions 383
13 Numeric and Miscellaneous Functions 401
14 Conversion Functions 419
15 Built-in Packages 451
16 Procedures and Functions 559
17 Packages 613
18 Package Examples 645
19 Stored PL/SQL Functions in SQL 745
20 Code Design Tips 773
21 Managing Code in the Database 819
22 Debugging PL/SQL 839
App. A: What's on the Companion Disk? 855
App. B: Calling Stored Procedures from PL/SQL Version 1.1 861
Index 869
Read More Show Less

Customer Reviews

Average Rating 5
( 17 )
Rating Distribution

5 Star

(16)

4 Star

(1)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 17 Customer Reviews
  • Posted April 6, 2010

    more from this reviewer

    An Oracle Programmer Essential.

    This is an essential book for PL programming.

    1 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted April 3, 2014

    Scissorstar

    Fine move to dg res one.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted March 30, 2014

    please help

    My ex ignores every message i send him. I went to guidance ad had him come so i could talk to him. And we became friends again. But now hes back to ignoring me. I see him looking at me whenever i look at him. It hurts to know he read my message but didnt reply.. i thought he was the one. My feelings for him are sooo strong. -Emma

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted March 22, 2014

    Friend problems..

    Hi. When im at school i hve no friends whatsoever. How to make friends?! Please answer, labeled 'To Roxy'

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted March 20, 2014

    To Merci

    I think he does. I think the best way to start out is to talk to him in a full coversation. (What church.)

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted March 30, 2014

    To please help

    Have you ever tried just talking to him face to face? - kristin

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted April 5, 2014

    Ask crazygirl!

    Crushes? Fasion? Makeup? Friends? Ask about all these and more at fasion result 2!!!!!!!

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted March 19, 2014

    Merci

    Okay,I hope you guys are active. The first one is: I have this crush on a boy at church. Lets call him "Logan". So "Logan" is my big time crush and I think he likes me. He scarcly ever talks to me but I've caught him staring at me several times. When I look at him he smiles and I can tell by his eyes and his face that hes blushing. I was waking in this line to go eat something and I turn around and look around and there he is a few steps away staring at me. I blushed and quickly turned away. Does he like me or what? Please respond soon.

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted March 23, 2014

    PLEASE ANSWER

    My ex is a total jerk!! He's always talking about how gross I am and always making wierd faces when I look at him. Once he even said it was the biggest mistake of his life to date me!!!! My heart shattered!!! What do I do?

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted March 19, 2014

    HELP PLEASE

    Girl problem at res 6

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted March 19, 2014

    To shyan

    Well, it was gracie's fault that she hit you. Find other friends and ignore her back. As for the fiod, pack lunch

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted March 16, 2014

    To Lauren

    Don't date someone you don't like just because you think your friend will get mad at you. Talk to her and say, "l think your brother is a sweet and awesome person. I just don't have a romantic attraction to him. That could change, but not anytime soon." If she is a good friend she will understand.<p>
    About Mikey: it's obvious from your description that Mikey possibly might have a mental or emotional disorder, or very light autism. I think you should keep your distance from him and stop thinking about him. If he kicked a girl there is a BIG problem. Just forget about him. That sounds harsh, but it's true. Remember the good times you had together, acknowledge them, and move on. You'll be happier for it.

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted March 16, 2014

    Rachel

    Yeah. Thx!

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted March 19, 2014

    Teagan

    This is not realated to boys or anything like that but i didnt know where else to put this so here it goes. I dont have a religon. Now, you must be thinking," Yes you do. Everyone does!" Well, I dont. I dont go to church, I dont say prayers, or anything of that sort. And im not Jewish( no offenese to those who are). My best friend is always talking about her church and how I should go there with her every Sunday. She tries to teach me about god and jesus and things like that but it doesnt make sense to me at all. When i say," Can we do something else?"she says,"No you need to learn this." I dont want to learn it. What should i tell her, and how do i say it without offending her?

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted March 20, 2014

    Leassia

    Dont stand up i have had this problem before and because of that he broke up with me he needs personal space

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted March 15, 2014

    Amanda~ Emris

    No problem. :D If you need anything ir just want to talk, find me through FlareStrike.

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted March 15, 2014

    Emris ~ Amanda

    Okay!

    0 out of 1 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing all of 17 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)