Knowledge

PL/SQL

Source đź“ť

66: 4006: 128: 25: 1164:
is like a stored procedure that Oracle Database invokes automatically whenever a specified event occurs. It is a named PL/SQL unit that is stored in the database and can be invoked repeatedly. Unlike a stored procedure, you can enable and disable a trigger, but you cannot explicitly invoke it. While
1176:
If the trigger is created on a table or view, then the triggering event is composed of DML statements, and the trigger is called a DML trigger. If the trigger is created on a schema or the database, then the triggering event is composed of either DDL or database operation statements, and the trigger
2298:
With Varrays you need to understand that the word "variable" in the phrase "variable-size arrays" doesn't apply to the size of the array in the way you might think that it would. The size the array is declared with is in fact fixed. The number of elements in the array is variable up to the declared
1371:
Date variables can contain date and time. The time may be left out, but there is no way to define a variable that only contains the time. There is no DATETIME type. And there is a TIME type. But there is no TIMESTAMP type that can contain fine-grained timestamp up to millisecond or nanosecond. The
1262:
to the name definition. To specify the (optional) precision (P) and the (optional) scale (S), one can further append these in round brackets, separated by a comma. ("Precision" in this context refers to the number of digits the variable can hold, and "scale" refers to the number of digits that can
346:
The basic unit of a PL/SQL source program is the block, which groups together related declarations and statements. A PL/SQL block is defined by the keywords DECLARE, BEGIN, EXCEPTION, and END. These keywords divide the block into a declarative part, an executable part, and an exception-handling
1090:
The example above shows a standalone procedure - this type of procedure is created and stored in a database schema using the CREATE PROCEDURE statement. A procedure may also be created in a PL/SQL package - this is called a Package Procedure. A procedure created in a PL/SQL anonymous block is
1129:
Packages are groups of conceptually linked functions, procedures, variables, PL/SQL table and record TYPE statements, constants, cursors, etc. The use of packages promotes re-use of code. Packages are composed of the package specification and an optional package body. The specification is the
2990:, despite superficial similarities. Porting code from one to the other usually involves non-trivial work, not only due to the differences in the feature sets of the two languages, but also due to the very significant differences in the way Oracle and SQL Server deal with 2347:, and Cursor FOR loops. Since Oracle 7.3 the REF CURSOR type was introduced to allow recordsets to be returned from stored procedures and functions. Oracle 9i introduced the predefined SYS_REFCURSOR type, meaning we no longer have to define our own REF CURSOR types. 2326:
can be explicit or implicit. In a FOR loop, an explicit cursor shall be used if the query will be reused, otherwise an implicit cursor is preferred. If using a cursor inside a loop, use a FETCH is recommended when needing to bulk collect or when needing dynamic SQL.
911:
The procedure begins with a mandatory heading part to hold the procedure name and optionally the procedure parameter list. Next come the declarative, executable and exception-handling parts, as in the PL/SQL Anonymous Block. A simple procedure might look like this:
1108:
An IN OUT parameter may or may not have an initial value. That initial value may or may not be modified by the called program. Any changes made to the parameter are returned to the calling program by default by copying but - with the NO-COPY hint - may be passed
576:
Blocks can be nested – i.e., because a block is an executable statement, it can appear in another block wherever an executable statement is allowed. A block can be submitted to an interactive tool (such as SQL*Plus) or embedded within an Oracle Precompiler or
589:
The purpose of a PL/SQL function is generally used to compute and return a single value. This returned value may be a single scalar value (such as a number, date or character string) or a single collection (such as a nested table or array).
2982:
PL/SQL engine. The constructor and methods of an Abstract Data Type are written in PL/SQL. The resulting Abstract Data Type can operate as an object class in PL/SQL. Such objects can also persist as column values in Oracle database tables.
1130:
interface to the application; it declares the types, variables, constants, exceptions, cursors, and subprograms available. The body fully defines cursors and subprograms, and so implements the specification. Two advantages of packages are:
1168:
You create a trigger with the CREATE TRIGGER statement. You specify the triggering event in terms of triggering statements, and the item they act on. The trigger is said to be created on or defined on the item—which is either a table, a
2289:
the programmer needs to understand what is nested. Here, a new type is created that may be composed of a number of components. That type can then be used to make a column in a table, and nested within that column are those components.
326:) cannot be used if only SQL is to be used. PL/SQL provides the functionality of other procedural programming languages, such as decision making, iteration etc. A PL/SQL program unit is one of the following: PL/SQL anonymous block, 1173:, a schema, or the database. You also specify the timing point, which determines whether the trigger fires before or after the triggering statement runs and whether it fires for each row that the triggering statement affects. 2742:
As an alternative, the PL/SQL programmer can pre-define the cursor's SELECT-statement in advance to (for example) allow re-use or make the code more understandable (especially useful in the case of long or complex queries).
303:. One can create PL/SQL units such as procedures, functions, packages, types, and triggers, which are stored in the database for reuse by applications that use any of the Oracle Database programmatic interfaces. 3272:
Whenever the PL/SQL runtime engine encounters an external procedure call, the Oracle Database starts the extproc process. The database passes on the information received from the call specification to the
1180:
An INSTEAD OF trigger is either: A DML trigger created on a view or a system trigger defined on a CREATE statement. The database fires the INSTEAD OF trigger instead of running the triggering statement.
1329:
To define a character variable, the programmer normally appends the variable type VARCHAR2 to the name definition. There follows in brackets the maximum number of characters the variable can store.
1266:
A selection of other data-types for numeric variables would include: binary_float, binary_double, dec, decimal, double precision, float, integer, int, numeric, real, small-int, binary_integer.
338:
specification, package body, trigger, type specification, type body, library. Program units are the PL/SQL source code that is developed, compiled, and ultimately executed on the database.
3114: 581:
program. The interactive tool or program runs the block once. The block is not stored in the database, and for that reason, it is called an anonymous block (even if it has a label).
3017:
based on the popular SQLite API by including a version of SQLite in Berkeley DB. Consequently, StepSqlite can also be used as a third-party tool to run PL/SQL code on Berkeley DB.
1859:
The following code segment shows the IF-THEN-ELSIF-ELSE construct. The ELSIF and ELSE parts are optional so it is possible to create simpler IF-THEN or, IF-THEN-ELSE constructs.
2258:
used to manipulate collection elements: for example FIRST, LAST, NEXT, PRIOR, EXTEND, TRIM, DELETE, etc. Index-by tables can be used to simulate associative arrays, as in this
1376:
function can be used to convert strings to date values. The function converts the first quoted string into a date, using as a definition the second quoted string, for example:
1165:
a trigger is enabled, the database automatically invokes it—that is, the trigger fires—whenever its triggering event occurs. While a trigger is disabled, it does not fire.
2863:(DDL) requires more complex "Dynamic SQL" statements in the PL/SQL code. However, DML statements underpin the majority of PL/SQL code in typical software applications. 3215:
A pipelined table function returns a result set as a collection iteratively. s each row is ready to be assigned to the collection, it is 'piped out' of the function.
2311:
is a pointer to a private SQL area that stores information coming from a SELECT or data manipulation language (DML) statement (INSERT, UPDATE, DELETE, or MERGE). A
347:
part. The declaration section is optional and may be used to define and initialize constants and variables. If a variable is not initialized then it defaults to
3614: 299:
are supported involving the use of PL/SQL collections. Implementations from version 8 of Oracle Database onwards have included features associated with
3659: 2254:
Programmers must specify an upper limit for varrays, but need not for index-by tables or for nested tables. The language includes several collection
1145:
Using package variables one can declare session level (scoped) variables since variables declared in the package specification have a session scope.
3091: 1194: 2939:
as a common ancestor, and so PL/SQL also resembles Pascal in most aspects. However, the structure of a PL/SQL package does not resemble the basic
351:
value. The optional exception-handling part is used to handle run-time errors. Only the executable part is required. A block can have a label.
3609: 3453:"@humanications We didn't re-implement the SQLite API, we include a version of SQLite which uses Berkeley DB for storage (replacing btree.c)" 4035: 3400: 3727: 3466: 268:. PL/SQL is available in Oracle Database (since version 6 - stored PL/SQL procedures/functions/packages/triggers since version 7), 4030: 896:
A function should only use the default IN type of parameter. The only out value from the function should be the value it returns.
276:(since version 9.7). Oracle Corporation usually extends PL/SQL functionality with each successive release of the Oracle Database. 904:
Procedures resemble functions in that they are named program units that can be invoked repeatedly. The primary difference is that
3358: 1102:
An IN parameter is used as input only. An IN parameter is passed by reference, though it can be changed by the inactive program.
3314: 3070: 3277:
process, which helps it to locate the external procedure within the library and execute it using the supplied parameters. The
1105:
An OUT parameter is initially NULL. The program assigns the parameter value and that value is returned to the calling program.
3202: 3046: 3376: 2954:
PL/SQL also allows for the definition of classes and instantiating these as objects in PL/SQL code. This resembles usage in
908:. Another difference is that the procedure can return multiple values whereas a function should only return a single value. 1552:
Each exception has an SQL error number and SQL error message associated with it. Programmers can access these by using the
1332:
Other datatypes for character variables include: varchar, char, long, raw, long raw, nchar, nchar2, clob, blob, and bfile.
3067: 2951:
unit. Programmers can define public and private global data-types, constants, and static variables in a PL/SQL package.
1134:
Modular approach, encapsulation/hiding of business logic, security, performance improvement, re-usability. They support
3514: 3281:
process loads the dynamic linked library, executes the external procedure, and returns the result back to the database.
2870:
package library. More recent versions have however introduced a simpler "Native Dynamic SQL", along with an associated
319: 192: 3259: 3149: 229: 211: 164: 109: 87: 52: 3340: 80: 3586: 3254:. Professional experience distilled (2 ed.). Birmingham: Packt Publishing Ltd (published 2016). p. 143. 2866:
In the case of PL/SQL dynamic SQL, early versions of the Oracle Database required the use of a complicated Oracle
3421: 171: 3949: 3673: 2970:. PL/SQL refers to a class as an "Abstract Data Type" (ADT) or "User Defined Type" (UDT), and defines it as an 2503: 1439:
PL/SQL also supports the use of ANSI date and interval literals. The following clause gives an 18-month range:
149: 3128: 1091:
called a nested procedure. The standalone or package procedures, stored in the database, are referred to as "
3293: 3227: 3170: 3991: 327: 1838:
So according to the example, we are able to copy the data from the database to the fields in the program.
178: 4009: 3799: 3506: 3433: 2967: 2955: 2936: 2271: 1135: 331: 3837: 2890: 2856: 1507:
commands, in any situation where they determine it is impossible for normal execution to continue. The
3434:"Migrating from Oracle to SQL Server - T-SQL, PL/SQL differences: Narayana Vyas Kondreddi's home page" 1848:
Programmers can address individual attributes in such a structure by means of the dot-notation, thus:
3975: 3634: 2255: 280: 160: 2259: 4040: 3863: 2932: 2860: 74: 3847: 3041: 2995: 145: 138: 38: 3878: 292: 254: 91: 3559: 1581:
This syntax defines a variable of the type of the referenced column on the referenced tables.
3712: 2535:/* N.B. for loop variables in PL/SQL are new declarations, with scope only inside the loop */ 591: 578: 3842: 3579: 2897: 2834:
The concept of the person_code within the FOR-loop gets expressed with dot-notation ("."):
1139: 257: 3544: 8: 2991: 2883: 570: 335: 3692: 3595: 3470: 3065: 2736: 2507: 2323: 2316: 2312: 2308: 1493:
Exceptions—errors during code execution—are of two types: user-defined and predefined.
288: 250: 185: 3888: 3644: 3510: 3498: 3255: 3198: 3085: 2974:
SQL data-type as opposed to a PL/SQL user-defined type, allowing its use in both the
2270:
With index-by tables, the array can be indexed by numbers or strings. It parallels a
2241: 1110: 306:
The first public version of the PL/SQL definition was in 1995. It implements the ISO
295:, procedures, functions, packages, types and variables of those types, and triggers. 3452: 2882:
PL/SQL works analogously to the embedded procedural languages associated with other
2277:, which comprises key-value pairs. There is only one dimension and it is unbounded. 3943: 3883: 3873: 3868: 3682: 3639: 1161: 1155: 1092: 318:
The main feature of SQL (non-procedural) is also its drawback: control statements (
3970: 3753: 3572: 3249: 3192: 2979: 2975: 2971: 2859:(DML) statements directly into PL/SQL code using straightforward SQL statements, 2234: 1170: 296: 265: 3965: 3939: 3914: 3697: 3619: 2944: 2315:
holds the rows (one or more) returned by a SQL statement. The set of rows the
4024: 3629: 3554: 2959: 2940: 300: 1117:
PL/SQL also supports external procedures via the Oracle database's standard
452:-- this section is mandatory, must contain at least one executable statement 4045: 3909: 3827: 3717: 3026: 2987: 2901: 284: 3104:
Steven Feuerstein (1995), "Oracle PL/SQL Programming", 1st, First Edition.
3768: 3702: 3010: 2948: 2299:
size. Arguably then, variable-sized arrays aren't that variable in size.
44: 3071:"DB2 10: Run Oracle applications on DB2 10 for Linux, UNIX, and Windows" 1989:
The CASE statement simplifies some large IF-THEN-ELSIF-ELSE structures.
3822: 3778: 3707: 3687: 3624: 2905: 2340: 2286: 1258:
To define a numeric variable, the programmer appends the variable type
348: 1499:
exceptions are always raised explicitly by the programmers, using the
3893: 3654: 3649: 3564: 3525: 2894: 2336: 127: 3930: 3832: 3773: 3732: 3722: 3539: 2909: 2344: 1225: 1098:
Procedures can have three types of parameters: IN, OUT and IN OUT.
323: 269: 2237:
as "collections". The language offers three types of collections:
906:
functions can be used in a SQL statement whereas procedures cannot
594:
supplement the built-in functions provided by Oracle Corporation.
3783: 3248:
Gupta, Saurabh K. (2012). "5: Using Advanced Interface Methods".
3036: 2925: 2917: 2913: 1841:
Using this datatype the programmer has defined a variable called
742:
Pipe-lined table functions return collections and take the form:
307: 273: 2335:
As a procedural language by definition, PL/SQL provides several
3763: 3737: 3031: 3006: 2887: 291:(run-time errors). It allows the declaration of constants and 16:
Procedural extension for SQL and the Oracle relational database
1228:
in PL/SQL include NUMBER, CHAR, VARCHAR2, DATE and TIMESTAMP.
3935: 3758: 2963: 2260:
example of a memo function for Ackermann's function in PL/SQL
3005:
product is a PL/SQL compiler for the popular small database
1584:
Programmers specify user-defined datatypes with the syntax:
3549: 3197:. O'Reilly Series. O'Reilly Media, Inc. pp. 122, 429. 3814: 3014: 2921: 2920:
includes SQL Procedural Language, which conforms to the
261: 2265: 2931:
The designers of PL/SQL modeled its syntax on that of
1432:
To convert the dates to strings one uses the function
3497: 2122:
CASE statement can be used with predefined selector:
1823:
This sample program defines its own datatype, called
1203:
Event logging and storing information on table access
279:
PL/SQL includes procedural language elements such as
1189:
Triggers can be written for the following purposes:
3009:which supports a subset of PL/SQL syntax. Oracle's 152:. Unsourced material may be challenged and removed. 2739:, read in their data and close the cursor again. 2293: 1563: 4022: 1845:and loaded it with data from the ADDRESS table. 3190: 2660:0 1 2 3 4 5 6 7 8 9 10 var is null 3580: 2339:constructs, including basic LOOP statements, 3359:"Database PL/SQL User's Guide and Reference" 3090:: CS1 maint: multiple names: authors list ( 2916:includes a PL/SQL compatibility parser, and 1049:-- Exception-handling part begins (optional) 53:Learn how and when to remove these messages 3587: 3573: 3319:Oracle iSQL Reference 10g Release 2 (10.2) 1854: 341: 230:Learn how and when to remove this message 212:Learn how and when to remove this message 110:Learn how and when to remove this message 3307: 3251:Advanced Oracle PL/SQL Developer's Guide 3191:Nanda, Arup; Feuerstein, Steven (2005). 2319:holds is referred to as the active set. 1851:v_address.street := 'High Street'; 73:This article includes a list of general 3294:"Coding PL/SQL Procedures and Packages" 4023: 3594: 3338: 3047:Relational database management systems 2986:PL/SQL is fundamentally distinct from 2943:program structure as implemented by a 2912:(which emulates PL/SQL to an extent), 2735:Cursor-for loops automatically open a 1424:'NLS_DATE_LANGUAGE = American' 1269: 1184: 313: 3568: 3523: 3247: 2499:Loops can be terminated by using the 1007:-- Executable part begins (mandatory) 977:-- Declarative part begins (optional) 3450: 3422:"Private and public items in PL/SQL" 2877: 2855:While programmers can readily embed 2266:Associative arrays (index-by tables) 1434:TO_CHAR (date_string, format_string) 1231: 998:'Email address is too long.' 150:adding citations to reliable sources 121: 59: 18: 3377:"What's New in MariaDB Server 10.3" 2663: 13: 4036:Data-centric programming languages 3491: 2350: 597:The PL/SQL function has the form: 425:' Hello world ' 79:it lacks sufficient corresponding 14: 4057: 3533: 3013:11g R2 release added support for 2417:-- Returns control to parent_loop 2228: 1335: 1209:Synchronous replication of tables 34:This article has multiple issues. 4005: 4004: 3482:Does Berkeley DB support PL/SQL? 3451:Burd, Gregory (March 24, 2010). 3115:"Oracle Compliance with SQL/PSM" 2280: 1212:Imposing security authorizations 929:-- Procedure heading part begins 573:to store a value in a variable. 126: 64: 23: 4031:Ada programming language family 3459: 3444: 3426: 3414: 3393: 3369: 3351: 3332: 3286: 1363:'DD-MM-YYYY hh24:mi:ss' 1215:Preventing invalid transactions 1200:Enforcing referential integrity 137:needs additional citations for 42:or discuss these issues on the 3241: 3220: 3184: 3163: 3142: 3121: 3107: 3098: 3059: 2850: 2294:Varrays (variable-size arrays) 2250:Varrays (variable-size arrays) 1564:Datatypes for specific columns 971:-- Procedure heading part ends 1: 3524:NaudĂ©, Frank (June 9, 2005). 3069:), SQL Architect, STSM, IBM. 3052: 2453:-- continue to next iteration 1488: 1357:'01-01-2005 14:20:23' 1219: 3992:Oracle Certification Program 3560:ORACLE-BASE: PL/SQL Articles 3526:"Oracle PL/SQL FAQ rev 2.08" 2513: 1827:, which contains the fields 1177:is called a system trigger. 899: 272:(since version 11.2.1), and 7: 3550:Oracle Tahiti Search Engine 3020: 2956:object-oriented programming 2935:. Both Ada and PL/SQL have 2357:<<parent_loop>> 1829:name, street, street_number 1263:follow the decimal point.) 1136:object-oriented programming 584: 545:'Error Message is ' 491:-- this section is optional 368:-- this section is optional 270:TimesTen in-memory database 247:Procedural Language for SQL 10: 4062: 3467:"Official Berkeley DB FAQ" 2857:Data Manipulation Language 2366:<<child_loop>> 2330: 2302: 1153: 1149: 1124: 266:Oracle relational database 4000: 3985:Education and recognition 3984: 3958: 3923: 3902: 3856: 3813: 3792: 3746: 3671: 3602: 3507:O'Reilly & Associates 3503:Oracle PL/SQL Programming 3150:"PL/SQL Anonymous Blocks" 2634:'var is not null' 3545:Oracle Technology Center 3403:. Publib.boulder.ibm.com 3228:"Database SQL Reference" 3171:"Database SQL Reference" 3129:"Oracle Server Features" 2861:Data Definition Language 2836: 2745: 2667: 2517: 2396:-- Terminates both loops 2354: 2211:sequence_of_statements_N 2202:sequence_of_statements_5 2187:sequence_of_statements_4 2172:sequence_of_statements_3 2157:sequence_of_statements_2 2142:sequence_of_statements_1 2124: 2105:sequence_of_statements_N 2096:sequence_of_statements_5 2075:sequence_of_statements_4 2054:sequence_of_statements_3 2033:sequence_of_statements_2 2012:sequence_of_statements_1 1991: 1972:sequence_of_statements_N 1963:sequence_of_statements_5 1942:sequence_of_statements_4 1921:sequence_of_statements_3 1900:sequence_of_statements_2 1879:sequence_of_statements_1 1861: 1659: 1586: 1540:several exceptions like 1513: 1511:command has the syntax: 1441: 1403: 1378: 1339: 1321:'lake view road' 1273: 1235: 914: 744: 599: 515:'Error Code is ' 446:-- current date and time 356: 1536:Oracle Corporation has 1505:RAISE_APPLICATION_ERROR 94:more precise citations. 3501:; Bill Pribyl (2014). 3341:"Working with Cursors" 3194:Oracle PL/SQL for DBAs 1855:Conditional statements 592:User-defined functions 342:PL/SQL anonymous block 3793:Programming languages 3420:Oracle documentation 2613:'var is null' 1418:'dd-mon-yyyy' 1412:'31-Dec-2004' 359:<<label>> 3635:HĂ©ctor GarcĂ­a-Molina 3339:Feuerstein, Steven. 2884:relational databases 1483:'2004-12-30' 1456:'2004-12-30' 1393:'dd-mm-yyyy' 1387:'31-12-2004' 1197:values automatically 1140:function overloading 1082:create_email_address 923:create_email_address 656:-- declaration block 146:improve this article 3959:Computer appliances 3603:Corporate directors 3363:download.oracle.com 2978:SQL Engine and the 2506:, or by raising an 1270:Character variables 1185:Purpose of triggers 571:assignment operator 362:-- this is optional 314:PL/SQL program unit 3976:Big Data Appliance 3615:H. Raymond Bingham 3596:Oracle Corporation 3540:Oracle FAQ: PL/SQL 3499:Feuerstein, Steven 3471:Oracle Corporation 2242:Associative arrays 1142:and encapsulation. 662:-- executable part 301:object-orientation 251:Oracle Corporation 4018: 4017: 3924:Computer hardware 3903:Operating systems 3864:Fusion Middleware 3664:Naomi O. Seligman 3645:Jeffrey O. Henley 3438:vyaskn.tripod.com 3204:978-0-596-00587-0 2878:Similar languages 2872:EXECUTE IMMEDIATE 2244:(Index-by tables) 2233:PL/SQL refers to 1232:Numeric variables 1093:stored procedures 324:iterative control 287:, and can handle 240: 239: 232: 222: 221: 214: 196: 120: 119: 112: 57: 4053: 4008: 4007: 3848:Developer Studio 3816: 3640:Joseph Grundfest 3589: 3582: 3575: 3566: 3565: 3555:Morgan's Library 3529: 3520: 3505:(6th ed.). 3485: 3484: 3479: 3477: 3463: 3457: 3456: 3448: 3442: 3441: 3430: 3424: 3418: 3412: 3411: 3409: 3408: 3397: 3391: 3390: 3388: 3387: 3381: 3373: 3367: 3366: 3355: 3349: 3348: 3336: 3330: 3329: 3327: 3326: 3311: 3305: 3304: 3302: 3301: 3290: 3284: 3283: 3280: 3276: 3269: 3268: 3245: 3239: 3238: 3236: 3235: 3224: 3218: 3217: 3212: 3211: 3188: 3182: 3181: 3179: 3178: 3167: 3161: 3160: 3158: 3157: 3146: 3140: 3139: 3137: 3136: 3125: 3119: 3118: 3111: 3105: 3102: 3096: 3095: 3089: 3081: 3079: 3078: 3063: 2873: 2869: 2846: 2843: 2840: 2830: 2827: 2824: 2821: 2818: 2815: 2812: 2809: 2806: 2803: 2800: 2797: 2794: 2791: 2788: 2785: 2782: 2779: 2776: 2773: 2770: 2767: 2764: 2761: 2758: 2755: 2752: 2749: 2731: 2728: 2725: 2722: 2719: 2716: 2713: 2710: 2707: 2704: 2701: 2698: 2695: 2692: 2689: 2686: 2683: 2680: 2677: 2674: 2671: 2664:Cursor FOR loops 2653: 2650: 2647: 2644: 2641: 2638: 2635: 2632: 2629: 2626: 2623: 2620: 2617: 2614: 2611: 2608: 2605: 2602: 2599: 2596: 2593: 2590: 2587: 2584: 2581: 2578: 2575: 2572: 2569: 2566: 2563: 2560: 2557: 2554: 2551: 2548: 2545: 2542: 2539: 2536: 2533: 2530: 2527: 2524: 2521: 2502: 2493: 2490: 2487: 2484: 2481: 2478: 2475: 2472: 2469: 2466: 2463: 2460: 2457: 2454: 2451: 2448: 2445: 2442: 2439: 2436: 2433: 2430: 2427: 2424: 2421: 2418: 2415: 2412: 2409: 2406: 2403: 2400: 2397: 2394: 2391: 2388: 2385: 2382: 2379: 2376: 2373: 2370: 2367: 2364: 2361: 2358: 2224: 2221: 2218: 2215: 2212: 2209: 2206: 2203: 2200: 2197: 2194: 2191: 2188: 2185: 2182: 2179: 2176: 2173: 2170: 2167: 2164: 2161: 2158: 2155: 2152: 2149: 2146: 2143: 2140: 2137: 2134: 2131: 2128: 2118: 2115: 2112: 2109: 2106: 2103: 2100: 2097: 2094: 2091: 2088: 2085: 2082: 2079: 2076: 2073: 2070: 2067: 2064: 2061: 2058: 2055: 2052: 2049: 2046: 2043: 2040: 2037: 2034: 2031: 2028: 2025: 2022: 2019: 2016: 2013: 2010: 2007: 2004: 2001: 1998: 1995: 1985: 1982: 1979: 1976: 1973: 1970: 1967: 1964: 1961: 1958: 1955: 1952: 1949: 1946: 1943: 1940: 1937: 1934: 1931: 1928: 1925: 1922: 1919: 1916: 1913: 1910: 1907: 1904: 1901: 1898: 1895: 1892: 1889: 1886: 1883: 1880: 1877: 1874: 1871: 1868: 1865: 1819: 1816: 1813: 1810: 1807: 1804: 1801: 1798: 1795: 1792: 1789: 1786: 1783: 1780: 1777: 1774: 1771: 1768: 1765: 1762: 1759: 1756: 1753: 1750: 1747: 1744: 1741: 1738: 1735: 1732: 1729: 1726: 1723: 1720: 1717: 1714: 1711: 1708: 1705: 1702: 1699: 1696: 1693: 1690: 1687: 1684: 1681: 1678: 1675: 1672: 1669: 1666: 1663: 1653: 1650: 1647: 1644: 1641: 1638: 1635: 1632: 1629: 1626: 1623: 1620: 1617: 1614: 1611: 1608: 1605: 1602: 1599: 1596: 1593: 1590: 1578: 1574: 1571: 1559: 1555: 1547: 1543: 1532: 1529: 1526: 1523: 1520: 1517: 1510: 1506: 1502: 1484: 1481: 1478: 1475: 1472: 1469: 1466: 1463: 1460: 1457: 1454: 1451: 1448: 1445: 1435: 1428: 1425: 1422: 1419: 1416: 1413: 1410: 1407: 1397: 1394: 1391: 1388: 1385: 1382: 1375: 1367: 1364: 1361: 1358: 1355: 1352: 1349: 1346: 1343: 1325: 1322: 1319: 1316: 1313: 1310: 1307: 1304: 1301: 1298: 1295: 1292: 1289: 1286: 1283: 1280: 1277: 1254: 1251: 1248: 1245: 1242: 1239: 1193:Generating some 1162:database trigger 1156:Database trigger 1120: 1086: 1083: 1080: 1077: 1074: 1071: 1068: 1065: 1062: 1059: 1056: 1053: 1050: 1047: 1044: 1041: 1038: 1035: 1032: 1029: 1026: 1023: 1020: 1017: 1014: 1011: 1008: 1005: 1002: 999: 996: 993: 990: 987: 984: 981: 978: 975: 972: 969: 966: 963: 960: 957: 954: 951: 948: 945: 942: 939: 936: 933: 930: 927: 924: 921: 918: 892: 889: 886: 883: 880: 877: 874: 871: 868: 865: 862: 859: 856: 853: 850: 847: 844: 841: 838: 835: 832: 829: 826: 823: 820: 817: 814: 811: 808: 805: 802: 799: 796: 793: 790: 787: 784: 781: 778: 775: 772: 769: 766: 763: 760: 757: 754: 751: 748: 738: 735: 732: 729: 726: 723: 720: 717: 714: 711: 708: 705: 702: 699: 696: 693: 690: 687: 684: 681: 678: 675: 672: 669: 666: 663: 660: 657: 654: 651: 648: 645: 642: 639: 636: 633: 630: 627: 624: 621: 618: 615: 612: 609: 606: 603: 569:functions as an 568: 561: 558: 555: 552: 549: 546: 543: 540: 537: 534: 531: 528: 525: 522: 519: 516: 513: 510: 507: 504: 501: 498: 495: 492: 489: 486: 483: 480: 477: 474: 471: 468: 465: 462: 459: 456: 453: 450: 447: 444: 441: 438: 435: 432: 429: 426: 423: 420: 417: 414: 411: 408: 405: 404:-- value default 402: 399: 396: 393: 390: 387: 384: 381: 378: 375: 372: 369: 366: 363: 360: 235: 228: 217: 210: 206: 203: 197: 195: 154: 130: 122: 115: 108: 104: 101: 95: 90:this article by 81:inline citations 68: 67: 60: 49: 27: 26: 19: 4061: 4060: 4056: 4055: 4054: 4052: 4051: 4050: 4041:Oracle software 4021: 4020: 4019: 4014: 3996: 3980: 3971:Oracle Exalogic 3954: 3919: 3898: 3879:WebLogic Server 3852: 3809: 3788: 3754:Oracle Database 3742: 3667: 3660:Donald L. Lucas 3598: 3593: 3536: 3517: 3494: 3492:Further reading 3489: 3488: 3475: 3473: 3465: 3464: 3460: 3449: 3445: 3432: 3431: 3427: 3419: 3415: 3406: 3404: 3399: 3398: 3394: 3385: 3383: 3379: 3375: 3374: 3370: 3357: 3356: 3352: 3337: 3333: 3324: 3322: 3313: 3312: 3308: 3299: 3297: 3292: 3291: 3287: 3278: 3274: 3266: 3264: 3262: 3246: 3242: 3233: 3231: 3226: 3225: 3221: 3209: 3207: 3205: 3189: 3185: 3176: 3174: 3169: 3168: 3164: 3155: 3153: 3148: 3147: 3143: 3134: 3132: 3127: 3126: 3122: 3113: 3112: 3108: 3103: 3099: 3083: 3082: 3076: 3074: 3064: 3060: 3055: 3023: 2958:languages like 2886:. For example, 2880: 2871: 2867: 2853: 2848: 2847: 2844: 2841: 2838: 2832: 2831: 2828: 2825: 2822: 2819: 2816: 2813: 2810: 2807: 2804: 2801: 2798: 2795: 2792: 2789: 2786: 2783: 2780: 2777: 2774: 2771: 2768: 2765: 2762: 2759: 2756: 2753: 2750: 2747: 2733: 2732: 2729: 2726: 2723: 2720: 2717: 2714: 2711: 2708: 2705: 2702: 2699: 2696: 2693: 2690: 2687: 2684: 2681: 2678: 2675: 2672: 2669: 2666: 2661: 2655: 2654: 2651: 2648: 2645: 2642: 2639: 2636: 2633: 2630: 2627: 2624: 2621: 2618: 2615: 2612: 2609: 2606: 2603: 2600: 2597: 2594: 2591: 2588: 2585: 2582: 2579: 2576: 2573: 2570: 2567: 2564: 2561: 2558: 2555: 2552: 2549: 2546: 2543: 2540: 2537: 2534: 2531: 2528: 2525: 2522: 2519: 2516: 2500: 2495: 2494: 2491: 2488: 2485: 2482: 2479: 2476: 2473: 2470: 2467: 2464: 2461: 2458: 2455: 2452: 2449: 2446: 2443: 2440: 2437: 2434: 2431: 2428: 2425: 2422: 2419: 2416: 2413: 2410: 2407: 2404: 2401: 2398: 2395: 2392: 2389: 2386: 2383: 2380: 2377: 2374: 2371: 2368: 2365: 2362: 2359: 2356: 2353: 2351:LOOP statements 2333: 2305: 2296: 2283: 2268: 2231: 2226: 2225: 2222: 2219: 2216: 2213: 2210: 2207: 2204: 2201: 2198: 2195: 2192: 2189: 2186: 2183: 2180: 2177: 2174: 2171: 2168: 2165: 2162: 2159: 2156: 2153: 2150: 2147: 2144: 2141: 2138: 2135: 2132: 2129: 2126: 2120: 2119: 2116: 2113: 2110: 2107: 2104: 2101: 2098: 2095: 2092: 2089: 2086: 2083: 2080: 2077: 2074: 2071: 2068: 2065: 2062: 2059: 2056: 2053: 2050: 2047: 2044: 2041: 2038: 2035: 2032: 2029: 2026: 2023: 2020: 2017: 2014: 2011: 2008: 2005: 2002: 1999: 1996: 1993: 1987: 1986: 1983: 1980: 1977: 1974: 1971: 1968: 1965: 1962: 1959: 1956: 1953: 1950: 1947: 1944: 1941: 1938: 1935: 1932: 1929: 1926: 1923: 1920: 1917: 1914: 1911: 1908: 1905: 1902: 1899: 1896: 1893: 1890: 1887: 1884: 1881: 1878: 1875: 1872: 1869: 1866: 1863: 1857: 1852: 1821: 1820: 1817: 1814: 1811: 1808: 1805: 1802: 1799: 1796: 1793: 1790: 1787: 1784: 1781: 1778: 1775: 1772: 1769: 1766: 1763: 1760: 1757: 1754: 1751: 1748: 1745: 1742: 1739: 1736: 1733: 1730: 1727: 1724: 1721: 1718: 1715: 1712: 1709: 1706: 1703: 1700: 1697: 1694: 1691: 1688: 1685: 1682: 1679: 1676: 1673: 1670: 1667: 1664: 1661: 1655: 1654: 1651: 1648: 1645: 1642: 1639: 1636: 1633: 1630: 1627: 1624: 1621: 1618: 1615: 1612: 1609: 1606: 1603: 1600: 1597: 1594: 1591: 1588: 1579: 1576: 1572: 1569: 1566: 1557: 1553: 1545: 1541: 1534: 1533: 1530: 1527: 1524: 1521: 1518: 1515: 1508: 1504: 1500: 1491: 1486: 1485: 1482: 1479: 1476: 1473: 1470: 1467: 1464: 1461: 1458: 1455: 1452: 1449: 1446: 1443: 1433: 1430: 1429: 1426: 1423: 1420: 1417: 1414: 1411: 1408: 1405: 1399: 1398: 1395: 1392: 1389: 1386: 1383: 1380: 1373: 1369: 1368: 1365: 1362: 1359: 1356: 1353: 1350: 1347: 1344: 1341: 1338: 1327: 1326: 1323: 1320: 1317: 1314: 1311: 1308: 1305: 1302: 1299: 1296: 1293: 1290: 1287: 1284: 1281: 1278: 1275: 1272: 1256: 1255: 1252: 1249: 1246: 1243: 1240: 1237: 1234: 1222: 1187: 1158: 1152: 1127: 1118: 1088: 1087: 1084: 1081: 1078: 1075: 1072: 1069: 1066: 1063: 1060: 1057: 1054: 1051: 1048: 1045: 1042: 1039: 1036: 1033: 1030: 1027: 1024: 1021: 1018: 1015: 1012: 1009: 1006: 1003: 1000: 997: 994: 991: 988: 985: 982: 979: 976: 973: 970: 967: 964: 961: 958: 955: 952: 949: 946: 943: 940: 937: 934: 931: 928: 925: 922: 919: 916: 902: 894: 893: 890: 887: 884: 881: 878: 875: 872: 869: 866: 863: 860: 857: 854: 851: 848: 845: 842: 839: 836: 833: 830: 827: 824: 821: 818: 815: 812: 809: 806: 803: 800: 797: 794: 791: 788: 785: 782: 779: 776: 773: 770: 767: 764: 761: 758: 755: 752: 749: 746: 740: 739: 736: 733: 730: 727: 724: 721: 718: 715: 712: 709: 706: 703: 700: 697: 694: 691: 688: 685: 682: 679: 676: 673: 670: 667: 664: 661: 658: 655: 652: 649: 646: 644:-- heading part 643: 640: 637: 634: 631: 628: 625: 622: 619: 616: 613: 610: 607: 604: 601: 587: 566: 563: 562: 559: 556: 553: 550: 547: 544: 541: 538: 535: 532: 529: 526: 523: 520: 517: 514: 511: 508: 505: 502: 499: 496: 493: 490: 487: 484: 481: 478: 475: 472: 469: 466: 463: 460: 457: 454: 451: 448: 445: 442: 439: 436: 433: 430: 427: 424: 421: 418: 415: 412: 409: 406: 403: 400: 397: 394: 391: 388: 385: 382: 379: 376: 373: 370: 367: 364: 361: 358: 344: 320:decision-making 316: 236: 225: 224: 223: 218: 207: 201: 198: 155: 153: 143: 131: 116: 105: 99: 96: 86:Please help to 85: 69: 65: 28: 24: 17: 12: 11: 5: 4059: 4049: 4048: 4043: 4038: 4033: 4016: 4015: 4013: 4012: 4001: 3998: 3997: 3995: 3994: 3988: 3986: 3982: 3981: 3979: 3978: 3973: 3968: 3966:Oracle Exadata 3962: 3960: 3956: 3955: 3953: 3952: 3947: 3933: 3927: 3925: 3921: 3920: 3918: 3917: 3915:Oracle Solaris 3912: 3906: 3904: 3900: 3899: 3897: 3896: 3891: 3886: 3881: 3876: 3871: 3866: 3860: 3858: 3854: 3853: 3851: 3850: 3845: 3840: 3835: 3830: 3825: 3819: 3817: 3811: 3810: 3808: 3807: 3802: 3796: 3794: 3790: 3789: 3787: 3786: 3781: 3776: 3771: 3766: 3761: 3756: 3750: 3748: 3744: 3743: 3741: 3740: 3735: 3730: 3725: 3720: 3715: 3710: 3705: 3700: 3695: 3690: 3685: 3679: 3677: 3672:Acquisitions ( 3669: 3668: 3666: 3665: 3662: 3657: 3652: 3647: 3642: 3637: 3632: 3627: 3622: 3620:Michael Boskin 3617: 3612: 3606: 3604: 3600: 3599: 3592: 3591: 3584: 3577: 3569: 3563: 3562: 3557: 3552: 3547: 3542: 3535: 3534:External links 3532: 3531: 3530: 3521: 3516:978-1449324452 3515: 3493: 3490: 3487: 3486: 3458: 3443: 3425: 3413: 3392: 3368: 3350: 3331: 3306: 3285: 3260: 3240: 3219: 3203: 3183: 3162: 3141: 3120: 3106: 3097: 3066:Serge Rielau ( 3057: 3056: 3054: 3051: 3050: 3049: 3044: 3042:PL/SQL editors 3039: 3034: 3029: 3022: 3019: 2945:Borland Delphi 2879: 2876: 2852: 2849: 2837: 2746: 2668: 2665: 2662: 2659: 2518: 2515: 2512: 2355: 2352: 2349: 2332: 2329: 2304: 2301: 2295: 2292: 2282: 2279: 2267: 2264: 2252: 2251: 2248: 2245: 2230: 2229:Array handling 2227: 2125: 1992: 1862: 1856: 1853: 1850: 1660: 1587: 1568:Variable_name 1567: 1565: 1562: 1514: 1490: 1487: 1442: 1404: 1379: 1340: 1337: 1336:Date variables 1334: 1294:'Text' 1274: 1271: 1268: 1236: 1233: 1230: 1221: 1218: 1217: 1216: 1213: 1210: 1207: 1204: 1201: 1198: 1195:derived column 1186: 1183: 1154:Main article: 1151: 1148: 1147: 1146: 1143: 1138:features like 1126: 1123: 1115: 1114: 1106: 1103: 915: 901: 898: 745: 600: 586: 583: 357: 343: 340: 315: 312: 238: 237: 220: 219: 134: 132: 125: 118: 117: 72: 70: 63: 58: 32: 31: 29: 22: 15: 9: 6: 4: 3: 2: 4058: 4047: 4044: 4042: 4039: 4037: 4034: 4032: 4029: 4028: 4026: 4011: 4003: 4002: 3999: 3993: 3990: 3989: 3987: 3983: 3977: 3974: 3972: 3969: 3967: 3964: 3963: 3961: 3957: 3951: 3948: 3945: 3941: 3937: 3934: 3932: 3929: 3928: 3926: 3922: 3916: 3913: 3911: 3908: 3907: 3905: 3901: 3895: 3892: 3890: 3887: 3885: 3882: 3880: 3877: 3875: 3872: 3870: 3867: 3865: 3862: 3861: 3859: 3855: 3849: 3846: 3844: 3843:SQL Developer 3841: 3839: 3836: 3834: 3831: 3829: 3826: 3824: 3821: 3820: 3818: 3812: 3806: 3803: 3801: 3798: 3797: 3795: 3791: 3785: 3782: 3780: 3777: 3775: 3772: 3770: 3767: 3765: 3762: 3760: 3757: 3755: 3752: 3751: 3749: 3745: 3739: 3736: 3734: 3731: 3729: 3726: 3724: 3721: 3719: 3716: 3714: 3711: 3709: 3706: 3704: 3701: 3699: 3696: 3694: 3691: 3689: 3686: 3684: 3681: 3680: 3678: 3675: 3670: 3663: 3661: 3658: 3656: 3653: 3651: 3648: 3646: 3643: 3641: 3638: 3636: 3633: 3631: 3630:Larry Ellison 3628: 3626: 3623: 3621: 3618: 3616: 3613: 3611: 3608: 3607: 3605: 3601: 3597: 3590: 3585: 3583: 3578: 3576: 3571: 3570: 3567: 3561: 3558: 3556: 3553: 3551: 3548: 3546: 3543: 3541: 3538: 3537: 3527: 3522: 3518: 3512: 3508: 3504: 3500: 3496: 3495: 3483: 3472: 3468: 3462: 3454: 3447: 3439: 3435: 3429: 3423: 3417: 3402: 3396: 3378: 3372: 3364: 3360: 3354: 3346: 3342: 3335: 3320: 3316: 3310: 3295: 3289: 3282: 3263: 3261:9781785282522 3257: 3253: 3252: 3244: 3229: 3223: 3216: 3206: 3200: 3196: 3195: 3187: 3172: 3166: 3151: 3145: 3130: 3124: 3116: 3110: 3101: 3093: 3087: 3072: 3068: 3062: 3058: 3048: 3045: 3043: 3040: 3038: 3035: 3033: 3030: 3028: 3025: 3024: 3018: 3016: 3012: 3008: 3004: 2999: 2997: 2993: 2989: 2984: 2981: 2977: 2973: 2969: 2965: 2961: 2960:Object Pascal 2957: 2952: 2950: 2946: 2942: 2941:Object Pascal 2938: 2934: 2929: 2927: 2923: 2919: 2915: 2911: 2907: 2903: 2899: 2896: 2892: 2889: 2885: 2875: 2864: 2862: 2858: 2835: 2787:cursor_person 2754:cursor_person 2744: 2740: 2738: 2658: 2511: 2509: 2505: 2497: 2348: 2346: 2342: 2338: 2328: 2325: 2320: 2318: 2314: 2310: 2300: 2291: 2288: 2287:nested tables 2281:Nested tables 2278: 2276: 2273: 2263: 2261: 2257: 2249: 2247:Nested tables 2246: 2243: 2240: 2239: 2238: 2236: 2123: 1990: 1860: 1849: 1846: 1844: 1839: 1836: 1834: 1830: 1826: 1779:street_number 1725:street_number 1716:street_number 1658: 1657:For example: 1585: 1582: 1561: 1551: 1546:TOO_MANY_ROWS 1542:NO_DATA_FOUND 1539: 1512: 1498: 1494: 1465:'1-6' 1440: 1437: 1402: 1377: 1342:variable_name 1333: 1330: 1276:variable_name 1267: 1264: 1261: 1238:variable_name 1229: 1227: 1214: 1211: 1208: 1205: 1202: 1199: 1196: 1192: 1191: 1190: 1182: 1178: 1174: 1172: 1166: 1163: 1157: 1144: 1141: 1137: 1133: 1132: 1131: 1122: 1112: 1107: 1104: 1101: 1100: 1099: 1096: 1094: 1073:error_message 980:error_message 913: 909: 907: 897: 762:function_name 743: 617:function_name 598: 595: 593: 582: 580: 574: 572: 482:'INU' 458:street_number 355: 354:For example: 352: 350: 339: 337: 333: 329: 325: 321: 311: 309: 304: 302: 298: 294: 290: 286: 282: 277: 275: 271: 267: 263: 259: 256: 252: 248: 244: 234: 231: 216: 213: 205: 194: 191: 187: 184: 180: 177: 173: 170: 166: 163: â€“  162: 158: 157:Find sources: 151: 147: 141: 140: 135:This article 133: 129: 124: 123: 114: 111: 103: 100:February 2008 93: 89: 83: 82: 76: 71: 62: 61: 56: 54: 47: 46: 41: 40: 35: 30: 21: 20: 3910:Oracle Linux 3804: 3718:Virtual Iron 3655:Jack F. Kemp 3610:Jeffrey Berg 3502: 3481: 3474:. Retrieved 3461: 3446: 3437: 3428: 3416: 3405:. Retrieved 3395: 3384:. Retrieved 3371: 3362: 3353: 3344: 3334: 3323:. Retrieved 3318: 3309: 3298:. Retrieved 3288: 3271: 3265:. Retrieved 3250: 3243: 3232:. Retrieved 3222: 3214: 3208:. Retrieved 3193: 3186: 3175:. Retrieved 3165: 3154:. Retrieved 3144: 3133:. Retrieved 3123: 3109: 3100: 3075:. Retrieved 3061: 3002: 3000: 2988:Transact-SQL 2985: 2953: 2930: 2902:Transact-SQL 2881: 2865: 2854: 2833: 2769:people_table 2741: 2734: 2691:people_table 2656: 2498: 2496: 2334: 2321: 2306: 2297: 2284: 2274: 2269: 2253: 2232: 2121: 1988: 1858: 1847: 1842: 1840: 1837: 1832: 1828: 1824: 1822: 1656: 1583: 1580: 1549: 1537: 1535: 1497:User-defined 1496: 1495: 1492: 1438: 1431: 1400: 1370: 1331: 1328: 1265: 1259: 1257: 1223: 1188: 1179: 1175: 1167: 1159: 1128: 1116: 1111:by reference 1097: 1089: 910: 905: 903: 895: 741: 725:return_value 698:return_value 596: 588: 575: 564: 353: 345: 317: 305: 278: 246: 242: 241: 226: 208: 202:January 2008 199: 189: 182: 175: 168: 156: 144:Please help 139:verification 136: 106: 97: 78: 50: 43: 37: 36:Please help 33: 3769:Berkeley DB 3011:Berkeley DB 2992:concurrency 2949:Free Pascal 2851:Dynamic SQL 2845:person_code 2839:RecordIndex 2811:person_code 2805:recordIndex 2793:DBMS_OUTPUT 2781:RecordIndex 2763:person_code 2718:person_code 2712:RecordIndex 2700:DBMS_OUTPUT 2685:person_code 2673:RecordIndex 2622:DBMS_OUTPUT 2601:DBMS_OUTPUT 2559:DBMS_OUTPUT 2489:parent_loop 2378:parent_loop 2341:WHILE loops 1575:Column_name 1560:functions. 1061:DBMS_OUTPUT 1055:VALUE_ERROR 1034:'@' 1022:'.' 771:return_type 626:return_type 565:The symbol 533:DBMS_OUTPUT 503:DBMS_OUTPUT 92:introducing 4025:Categories 3950:StorageTek 3944:Enterprise 3857:Middleware 3823:JDeveloper 3708:JD Edwards 3688:PeopleSoft 3625:Safra Catz 3407:2012-07-26 3386:2018-08-21 3345:oracle.com 3325:2009-03-20 3315:"Literals" 3300:2020-09-21 3267:2017-06-08 3234:2020-09-21 3210:2011-01-11 3177:2020-09-21 3156:2020-09-21 3135:2020-09-21 3077:2012-07-26 3053:References 3003:StepSqlite 2928:standard. 2906:PostgreSQL 2898:SQL Server 2426:child_loop 2372:statements 2363:statements 1570:Table_name 1538:predefined 1489:Exceptions 1224:The major 1220:Data types 310:standard. 289:exceptions 281:conditions 255:procedural 172:newspapers 75:references 39:improve it 3894:GlassFish 3884:Coherence 3874:SOA Suite 3869:WebCenter 3747:Databases 3650:Mark Hurd 3476:March 30, 3382:. MariaDB 3073:. Ibm.com 2895:Microsoft 2514:FOR loops 2508:exception 2474:condition 2438:condition 2408:condition 2387:condition 2345:FOR loops 2337:iteration 1843:v_address 1825:t_address 1791:v_address 1755:t_address 1752:v_address 1668:t_address 1592:data_type 1522:exception 1447:dateField 1300:-- e.g.: 1226:datatypes 1121:process. 1046:EXCEPTION 920:PROCEDURE 900:Procedure 852:exception 849:Exception 813:statement 710:Exception 686:statement 488:EXCEPTION 328:procedure 293:variables 258:extension 45:talk page 4010:Category 3940:T-Series 3931:Sun Fire 3833:NetBeans 3774:TimesTen 3733:NetSuite 3728:Sunopsis 3723:TimesTen 3713:RightNow 3693:Hyperion 3401:"SQL PL" 3321:. Oracle 3296:. Oracle 3230:. Oracle 3173:. Oracle 3152:. Oracle 3131:. Oracle 3086:cite web 3021:See also 2910:PL/pgSQL 2874:syntax. 2868:DBMS_SQL 2799:PUT_LINE 2706:PUT_LINE 2657:Output: 2628:PUT_LINE 2607:PUT_LINE 2565:PUT_LINE 2447:continue 1833:postcode 1785:postcode 1743:postcode 1734:postcode 1462:INTERVAL 1306:varchar2 1279:varchar2 1206:Auditing 1119:ext-proc 1067:PUT_LINE 983:VARCHAR2 965:VARCHAR2 953:VARCHAR2 944:VARCHAR2 935:VARCHAR2 756:FUNCTION 611:FUNCTION 585:Function 539:PUT_LINE 509:PUT_LINE 410:VARCHAR2 332:function 264:and the 161:"PL/SQL" 3784:Essbase 3279:extproc 3275:extproc 3037:SQL/PSM 2996:locking 2926:SQL/PSM 2922:ISO SQL 2918:IBM Db2 2914:MariaDB 2748:DECLARE 2520:DECLARE 2504:keyword 2331:Looping 2303:Cursors 2256:methods 1797:address 1737:address 1719:address 1701:address 1683:address 1662:declare 1640:field_n 1619:field_2 1604:field_1 1558:SQLERRM 1554:SQLCODE 1450:BETWEEN 1406:to_date 1381:to_date 1374:TO_DATE 1351:to_date 1303:address 1150:Trigger 1125:Package 1040:company 950:company 753:REPLACE 608:REPLACE 551:sqlerrm 527:sqlcode 521:TO_CHAR 470:address 464:number1 440:SYSDATE 389:number1 386:number2 371:number1 365:DECLARE 336:package 308:SQL/PSM 274:IBM Db2 186:scholar 88:improve 3889:Tuxedo 3805:PL/SQL 3764:InnoDB 3738:Cerner 3698:Siebel 3513:  3258:  3201:  3032:SQL PL 3007:SQLite 2980:Oracle 2976:Oracle 2972:Oracle 2937:Pascal 2888:Sybase 2760:SELECT 2751:CURSOR 2737:cursor 2682:SELECT 2526:NUMBER 2324:cursor 2317:cursor 2313:cursor 2309:cursor 2235:arrays 1803:rownum 1773:street 1764:select 1707:street 1698:street 1674:record 1643:type_n 1622:type_2 1607:type_1 1598:record 1577:%type; 1260:NUMBER 1241:number 917:CREATE 882:RETURN 870:return 840:RETURN 828:return 810:return 768:RETURN 747:CREATE 719:RETURN 692:RETURN 683:return 650:number 647:amount 623:RETURN 602:CREATE 497:OTHERS 455:SELECT 374:NUMBER 297:Arrays 243:PL/SQL 188:  181:  174:  167:  159:  77:, but 3936:SPARC 3828:Forms 3759:MySQL 3380:(PDF) 3027:T-SQL 2900:have 2775:BEGIN 2532:BEGIN 2285:With 1948:ELSIF 1927:ELSIF 1906:ELSIF 1885:ELSIF 1800:where 1761:begin 1746:%type 1728:%type 1710:%type 1692:%type 1516:RAISE 1509:RAISE 1501:RAISE 1474:MONTH 1444:WHERE 1028:name2 1016:name1 1010:email 1004:BEGIN 959:email 941:name2 932:name1 855:block 804:block 789:BEGIN 783:USING 677:block 659:BEGIN 473:WHERE 449:BEGIN 431:text2 407:text1 392:%TYPE 285:loops 249:) is 193:JSTOR 179:books 3838:Apex 3815:IDEs 3800:Java 3674:list 3511:ISBN 3478:2010 3256:ISBN 3199:ISBN 3092:link 3001:The 2994:and 2968:Java 2966:and 2908:has 2893:and 2820:LOOP 2790:LOOP 2766:FROM 2727:LOOP 2697:LOOP 2688:FROM 2619:ELSE 2598:THEN 2595:NULL 2580:LOOP 2556:LOOP 2501:EXIT 2486:LOOP 2477:> 2471:< 2468:when 2465:exit 2444:then 2441:> 2435:< 2423:loop 2411:> 2405:< 2402:when 2399:exit 2390:> 2384:< 2381:when 2375:exit 2369:loop 2360:LOOP 2272:Java 2220:CASE 2208:ELSE 2199:THEN 2193:WHEN 2184:THEN 2178:WHEN 2169:THEN 2163:WHEN 2154:THEN 2148:WHEN 2139:THEN 2133:WHEN 2127:CASE 2114:CASE 2102:ELSE 2093:THEN 2081:WHEN 2072:THEN 2060:WHEN 2051:THEN 2039:WHEN 2030:THEN 2018:WHEN 2009:THEN 1997:WHEN 1994:CASE 1969:ELSE 1960:THEN 1939:THEN 1918:THEN 1897:THEN 1876:THEN 1831:and 1794:from 1788:into 1767:name 1689:name 1680:name 1665:type 1589:type 1556:and 1550:etc. 1528:> 1525:name 1519:< 1480:DATE 1468:YEAR 1453:DATE 1345:date 1171:view 1058:THEN 1052:WHEN 876:> 873:type 867:< 861:PIPE 834:> 831:type 825:< 819:PIPE 816:> 807:with 792:< 786:> 774:< 765:> 759:< 728:> 722:< 713:none 701:> 695:< 689:> 680:with 665:< 641:> 629:< 620:> 614:< 500:THEN 494:WHEN 476:name 467:FROM 461:INTO 434:DATE 349:NULL 283:and 260:for 165:news 4046:SQL 3779:Rdb 3703:BEA 3683:Sun 3015:SQL 2964:C++ 2947:or 2933:Ada 2924:’s 2891:ASE 2826:END 2817:END 2778:FOR 2724:END 2670:FOR 2649:END 2640:END 2589:var 2577:END 2571:var 2541:var 2538:FOR 2523:var 2483:END 2456:end 2420:end 2275:map 2217:END 2111:END 1978:END 1815:end 1649:xyz 1634:... 1628:xyz 1613:xyz 1503:or 1477:AND 1401:or 1095:". 1079:END 962:OUT 888:END 864:ROW 822:ROW 801:SQL 734:END 674:SQL 579:OCI 557:END 530:)); 322:or 262:SQL 253:'s 148:by 4027:: 3942:, 3509:. 3480:. 3469:. 3436:. 3361:. 3343:. 3317:. 3270:. 3213:. 3088:}} 3084:{{ 2998:. 2962:, 2904:, 2814:); 2784:IN 2757:IS 2721:); 2676:IN 2643:IF 2637:); 2616:); 2592:IS 2586:IF 2574:); 2553:10 2550:.. 2544:IN 2510:. 2459:if 2432:if 2343:, 2322:A 2307:A 2262:. 1981:IF 1864:IF 1835:. 1749:); 1671:is 1652:); 1646::= 1625::= 1610::= 1595:is 1548:, 1544:, 1471:TO 1436:. 1366:); 1348::= 1318::= 1312:20 1291::= 1285:20 1247::= 1244:() 1160:A 1076:); 1037:|| 1031:|| 1025:|| 1019:|| 1013::= 995::= 989:30 974:AS 795:PL 777:IS 750:OR 668:PL 638:AS 632:IS 605:OR 567::= 554:); 548:|| 518:|| 437::= 422::= 416:12 398:17 395::= 383:); 334:, 330:, 48:. 3946:) 3938:( 3676:) 3588:e 3581:t 3574:v 3528:. 3519:. 3455:. 3440:. 3410:. 3389:. 3365:. 3347:. 3328:. 3303:. 3237:. 3180:. 3159:. 3138:. 3117:. 3094:) 3080:. 2842:. 2829:; 2823:; 2808:. 2802:( 2796:. 2772:; 2730:; 2715:. 2709:( 2703:. 2694:) 2679:( 2652:; 2646:; 2631:( 2625:. 2610:( 2604:. 2583:; 2568:( 2562:. 2547:0 2529:; 2492:; 2480:; 2462:; 2450:; 2429:; 2414:; 2393:; 2223:; 2214:; 2205:; 2196:5 2190:; 2181:4 2175:; 2166:3 2160:; 2151:2 2145:; 2136:1 2130:x 2117:; 2108:; 2099:; 2090:5 2087:= 2084:x 2078:; 2069:4 2066:= 2063:x 2057:; 2048:3 2045:= 2042:x 2036:; 2027:2 2024:= 2021:x 2015:; 2006:1 2003:= 2000:x 1984:; 1975:; 1966:; 1957:5 1954:= 1951:x 1945:; 1936:4 1933:= 1930:x 1924:; 1915:3 1912:= 1909:x 1903:; 1894:2 1891:= 1888:x 1882:; 1873:1 1870:= 1867:x 1818:; 1812:; 1809:1 1806:= 1782:, 1776:, 1770:, 1758:; 1740:. 1731:, 1722:. 1713:, 1704:. 1695:, 1686:. 1677:( 1637:, 1631:, 1616:, 1601:( 1573:. 1531:; 1459:- 1427:) 1421:, 1415:, 1409:( 1396:) 1390:, 1384:( 1360:, 1354:( 1324:; 1315:) 1309:( 1297:; 1288:) 1282:( 1253:; 1250:0 1113:. 1085:; 1070:( 1064:. 1043:; 1001:; 992:) 986:( 968:) 956:, 947:, 938:, 926:( 891:; 885:; 879:; 858:] 846:[ 843:; 837:; 798:/ 780:| 737:; 731:; 716:] 707:[ 704:; 671:/ 653:; 635:| 560:; 542:( 536:. 524:( 512:( 506:. 485:; 479:= 443:; 428:; 419:) 413:( 401:; 380:2 377:( 245:( 233:) 227:( 215:) 209:( 204:) 200:( 190:· 183:· 176:· 169:· 142:. 113:) 107:( 102:) 98:( 84:. 55:) 51:(

Index

improve it
talk page
Learn how and when to remove these messages
references
inline citations
improve
introducing
Learn how and when to remove this message

verification
improve this article
adding citations to reliable sources
"PL/SQL"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
Learn how and when to remove this message
Oracle Corporation
procedural
extension
SQL
Oracle relational database
TimesTen in-memory database
IBM Db2
conditions
loops
exceptions

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑