Found 62 Articles for Oracle

How to generate data with Union ALL and Insert ALL in Oracle?

Kiran P
Updated on 04-Dec-2020 11:02:22

831 Views

Problem:You wanted to know the difference between Union ALL and Insert ALL to generate small amounts of data.Solution:I have been recently generating small amounts of data for testing some functionality and came across a couple of options in Oracle. Union All and Insert All are two options commonly used for generating small amounts of data in Oracle.The most common set operators in Oracle are UNION and UNION ALL. These operators are used to combine sets of data, even if there are no relationships between these sets.UNION creates a distinct set, whereas UNION ALL allows for duplicates. Removing duplicates can have ... Read More

How to detect if a given year is a Leap year in Oracle?

Kiran P
Updated on 04-Dec-2020 11:00:47

3K+ Views

Problem:You need to determine if any given year is a leap year.Solution:There are numerous ways of solving this problem.These include calculations to determine whether February 29 exists in the year, or whether March 1 is the 61st or 62nd day of the year.ExampleSELECT to_number(to_char(sysdate, 'YYYY')) Year,   CASE     WHEN MOD(to_number(to_char(sysdate, 'YYYY')), 400) = 0 then 'Yes'     WHEN MOD(to_number(to_char(sysdate, 'YYYY')), 100) = 0 then 'No'     WHEN MOD(to_number(to_char(sysdate, 'YYYY')), 4) = 0 then 'Yes'     ELSE 'No'     END AS "Leap Year?" FROM dual;Output2020    YesObviously 2020 is a year to forget and it ... Read More

How to view storage configuration of Oracle database?

Kiran P
Updated on 04-Dec-2020 10:59:35

388 Views

Problem:You want to find out some indroductory information about the database.Solution:Every Oracle programmer/ DBA has at one point or another during their career inherited a database someone else have already set up.You needs to find out some introductory information about the database to learn more about it.Idenitfy the host details and databsae versionExampleSELECT instance_name, host_name, version, startup_time FROM v$instanceOutputINSTANCE_NAME    HOST_NAME                      VERSION           STARTUP_TIME TESTDB          ip-000-00-0-000                19.0.0.0.0        12/AUG/20Next, We will determine the ... Read More

How to access values from previous or following rows in Oracle ?

Kiran P
Updated on 05-Dec-2020 06:34:42

65 Views

You want to use Oracle aggregate function XMLAGG for string aggregation.?Solution:You would like to include calculations based on preceding and following rows in the result set.Oracle supports the LAG and LEAD analytical functions to provide access to multiple rows in a table, utilizing preceding or following logic and you won’t need to resort to joining the source data to itself. To demonstrate the usage we will use the students data.The LAG function can be used to see which student/s joining followed another, and also to calculate the elapsed time between joining.SQL: Identify the student joining informationExampleSELECT first_name,       ... Read More

How to use Oracle aggregate function XMLAGG ?

Kiran P
Updated on 04-Dec-2020 10:54:05

8K+ Views

You want to use Oracle aggregate function XMLAGG for string aggregation.?Solution:ExampleSELECT class_id,   rtrim(xmlagg(xmlelement(x, first_name   || ' '   || last_name , ', ') ORDER BY first_name).extract('//text()').getstringval(), ', ') AS "names" FROM students GROUP BY class_id;OutputCL_MATH         ANDERSON DANIEL, MARTINEZ CHRISTOPHER, TAYLOR PAUL, THOMAS MARK, WILSON THOMAS, CL_PHY          RODRIGUEZ JOSEPH, INS_CHAIRMAN    SMITH JAMES, INS_STAFF       BROWN MICHAEL, DAVIS RICHARD, GARCIA CHARLES, JONES WILLIAM, MILLER DAVID, INS_VP          JOHNSON JOHN, WILLIAMS ROBERT, In the above statement xmlelement will create an XML element called x (name it what ... Read More

How to perform string aggregation/concatenation in Oracle?

Kiran P
Updated on 04-Dec-2020 10:52:16

4K+ Views

Problem Statement:You want to perform string concatenation as a comma delimited text in oracle.Solution:Oracle has few methods to perform string aggregation. The most common usuage you popularly find on internet is to convert multiple rows to a single row with a delimiter.Starting Oracle version 11.2, a new built-in function is added called listagg which performs string aggregation. The listagg function uses two parameters the first is the string column or expression we want to aggregate and the second which is an optional parameter is the delimiter to put between the strings in the aggregated result. within group is mandatory and ... Read More

How to assign ranks to the query results in Oracle?

Kiran P
Updated on 04-Dec-2020 10:51:05

364 Views

Problem Statement:You want to assign a number/rank representing their positions in the result.Solution:Oracle provides the RANK analytic function to generate a ranking number for rows in a result set. To demonstrate we will rank students by fees, from highest paid down. The following SELECT statement uses the rank function to assign these values.ExampleSELECT student_id,        first_name,        last_name,        fees,        RANK() OVER (ORDER BY fees DESC) AS rnk FROM students;Outputstudent_idfirst_namelast_namefeesrnk100SMITHJAMES240001101JOHNSONJOHN170002102WILLIAMSROBERT170002108RODRIGUEZJOSEPH120084103BROWNMICHAEL90005109WILSONTHOMAS90005110MARTINEZCHRISTOPHER82007112TAYLORPAUL78008111ANDERSONDANIEL77009113THOMASMARK690010104JONESWILLIAM600011105MILLERDAVID480012106DAVISRICHARD480012107GARCIACHARLES420014RANK behaves similar to any other analytic function, operating in a second pass over the result set once non analytic processing is ... Read More

How to cache query results in Oracle?

Kiran P
Updated on 04-Dec-2020 10:49:31

2K+ Views

Problem Statement:You want to improve the performance of frequently used queries.Solution:We have to use Oracle’s result cache to store the query results of frequently used SQL, so they can be retrieved quickly for future use when the same query has been executed.The result cache is new additon to Oracle 11g, which will allow us store results from often-used queries in memory for quick and easy retrieval.ExampleSELECT /*+ result_cache */      e.class_id,      min_fees,      max_fees FROM students e ,jobs j WHERE e.class_id = j.class_id GROUP BY e.class_id, min_fees, max_fees;To demonstrate how it is used, we will check ... Read More

How to optimize the INSERT statement using direct-path insert technique in Oracle?

Kiran P
Updated on 04-Dec-2020 10:46:58

2K+ Views

Problem Statement:You are performing a INSERT statement, and it is performing slower than needed. You want to optimize the INSERT statement.Solution:By using the APPEND or APPEND_VALUES hint with INSERT statement, we can significantly speed up the process of performing an insert operation on the database. Here is an example of the performance savings using the APPEND hint.SQL without OptimizationINSERT INTO students SELECT * FROM students_bkp;Output-- Output 22141998 rows created. Elapsed: 00:03:11.21 ------------------------------------------------- | Id  | Operation                | Name         | ------------------------------------------------- |   0 | INSERT STATEMENT     ... Read More

How to perform Schema Registration and XML Validation in Oracle ?

Kiran P
Updated on 04-Dec-2020 10:45:21

925 Views

Problem Statement:You want to enforce XML schema validity on XML data stored in your database.Solution:Oracle provides the DBMS_XMLSCHEMA.REGISTERSCHEMA function to define XML schemas within the Oracle database. Inorder to validate the xml data generated, we need to register the schema. While registering the schema, the format must match the xml format generated or register the schema based on how you want to generate the xml .The registration provides two key features. First, it allows Oracle to identify the external location or locations from which it can source the schema. Second and most important, REGISTERSCHEMA parses the schema for syntactical correctness ... Read More

Advertisements