Already have an account? Get multiple benefits of using own account!
Login in your account..!
Remember me
Don't have an account? Create your account in less than a minutes,
Forgot password? how can I recover my password now!
Enter right registered email to receive password!
Assigning and Comparing CollectionsOne collection can be assigned to other by an SELECT, INSERT, UPDATE, or FETCH statement, an assignment statement, or by a subprogram call. As the illustration shown below, the collections should have the same datatype. Having the similar element type is not enough.DECLARETYPE Clientele IS VARRAY(100) OF Customer;TYPE Vips IS VARRAY(100) OF Customer;group1 Clientele := Clientele(...);group2 Clientele := Clientele(...);group3 Vips := Vips(...);BEGINgroup2 := group1;group3 := group2; -- illegal; Various datatypes becomes automatically null (and should be reinitialized). Now consider the illustration as shown below: DECLARETYPE Clientele IS TABLE OF Customer;group1 Clientele := Clientele(...); -- initializedgroup2 Clientele; -- atomically nullBEGINIF group1 IS NULL THEN ... -- condition yields FALSEgroup1 := group2;IF group1 IS NULL THEN ... -- condition yields TRUE...END;Similarly, if you assign the non-value NULL to a collection, the collection becomes automatically null.Assigning Collection ElementsYou can assign the value of an expression to the specific element in a collection by using the syntaxcollection_name(subscript) := expression;Where the expression yields a value of the type specified for elements in the collection type definition. If the subscript is null or not convertible to an integer, the PL/SQL raises the predefined exception VALUE_ERROR. If the collection is automatically null, then the PL/SQL raises COLLECTION_IS_NULL. Some of the examples are shown below:DECLARETYPE NumList IS TABLE OF INTEGER;nums NumList := NumList(10,20,30);ints NumList;...BEGIN...nums(1) := TRUNC(high/low);nums(3) := nums(1);nums(2) := ASCII(’B’);/* Assume execution continues despite the raised exception. */nums(’A’) := 40; -- raises VALUE_ERRORints(1) := 15; -- raises COLLECTION_IS_NULLEND;Comparing Whole CollectionsThe Nested tables and varrays can be automatically null; therefore they can be tested for the nullity, as the example below shows:DECLARETYPE Staff IS TABLE OF Employee;members Staff;BEGIN...IF members IS NULL THEN ... -- condition yields TRUE;END;Though, the collections cannot be compared for equality or inequality. For illustration, the IF condition below is illegal as shown:DECLARETYPE Clientele IS TABLE OF Customer;group1 Clientele := Clientele(...);group2 Clientele := Clientele(...);BEGIN...IF group1 = group2 THEN -- causes compilation error...END IF;END;This restriction also applies to implicit the comparisons. For illustration, the collections cannot appear in an ORDER BY, GROUP BY, or DISTINCT list.
Keyword & Parameter Description: PRAGMA: These keywords signify that the statement is a pragma (i.e. compiler directive). The Pragmas are processed at the compile time, n
Implicit Cursors The Oracle implicitly opens a cursor to process each SQL statement not related with an explicitly declared cursor. The PL/SQL lets you refer to the most recen
How Exceptions Are Raised By the run-time system, the internal exceptions are raised implicitly as are user-defined exceptions that you have related with an Oracle error number
Effects of NULL The numeric variable X, perhaps of type INTEGER, might be assigned NULL. In that case the result of evaluating X + 1 is NULL, and so SET Y = X + 1 assigns NULL
Using FOR UPDATE If you declare a cursor which will be referenced in the CURRENT OF clause of an UPDATE or DELETE statement, you should use the FOR UPDATE clause to obtain an
Initializing Records The illustration below shows that you can initialize a record in its type definition. Whenever you declare a record of the type TimeRec, its 3 fields supp
Using TRIM This process has two forms. The TRIM removes an element from the end of the collection. The TRIM(n) removes the n elements from the end of the collection. For e.g.
Enrolment was split - SQL Example shows how relvars IS_CALLED and IS_ENROLLED_ON can be derived from the original ENROLMENT relvar, using projection in the initial assignment
Effects of NULL for union - SQL The treatment of NULL in invocations of EXCEPT is as for UNION. This is different from its treatment in those of NOT IN and quantified compari
Declaring Records Whenever you define a RECORD type, you may declare records of that type, as the illustration shows: DECLARE TYPE StockItem IS RECORD ( item_no INTEG
Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!
whatsapp: +91-977-207-8620
Phone: +91-977-207-8620
Email: [email protected]
All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd