Friday, May 13, 2016
Ceil Function
In Oracle/PLSQL, the ceil function returns the smallest integer value that is greater than or equal to a number.
The syntax for the ceil function is: ceil( number ) number is the value used to find the smallest integer value.
For Example
ceil(32.65) would return 33
ceil(32) would return 32
ceil(-32.65) would return -32
ceil(-32) would return -32
Thursday, May 12, 2016
Views, Materialized Views and Synonyms
Views
A view takes the output of a query and makes it appear like a virtual table. You can use a view in most places where a table can be used. All operations performed on a view will affect data in the base table and so are subject to the integrity constraints and triggers of the base table.
A View can be used to simplify SQL statements for the user or to isolate an application from any future change to the base table definition. A View can also be used to improve security by restricting access to a predetermined set of rows or columns.
In addition to operating on base tables, one View can be based on another, a view can also JOIN a view with a table (GROUP BY or UNION).
Using views encourages the use of Shared SQL with the benefit of reduced memory usage.
Read-Only vs Updatable Views
The data dictionary views ALL_UPDATABLE_COLUMNS, DBA_UPDATABLE_COLUMNS, and USER_UPDATABLE_COLUMNS indicate which view columns are updatable.
An updatable view lets you insert, update, and delete rows in the view and propagate the changes to the target master table.
In order to be updatable, a view cannot contain any of the following constructs: SET or DISTINCT operators, an aggregate or analytic function, a GROUP BY, ORDER BY, CONNECT BY, or START WITH clause, a subquery (or collection expression) in a SELECT list or finally (with some exceptions) a JOIN . See the Oracle Database Administrator's Guide for full details. Views that are not updatable can be modified using an INSTEAD OF trigger.
Materialized Views
Materialized views are schema objects that can be used to summarize, precompute, replicate, and distribute data. E.g. to construct a data warehouse.
A materialized view provides indirect access to table data by storing the results of a query in a separate schema object. Unlike an ordinary view, which does not take up any storage space or contain any data.
The existence of a materialized view is transparent to SQL, but when used for query rewrites will improve the performance of SQL execution. An updatable materialized view lets you insert, update, and delete.
You can define a materialized view on a base table, partitioned table or view and you can define indexes on a materialized view.
A materialized view can be stored in the same database as its base table(s) or in a different database. Materialized views stored in the same database as their base tables can improve query performance through query rewrites. Query rewrites are particularly useful in a data warehouse environment.
A materialized view log is a schema object that records changes to a master table's data so that a materialized view defined on the master table can be refreshed incrementally.
Synonyms
A synonym is an alias for any table, view, materialized view, sequence, procedure, function, or package. A public synonym is owned by the user group PUBLIC and every user in a database can access it. A private synonym is in the schema of a specific user who has control over its availability to others.
Synonyms are used to:
- Mask the real name and owner of a schema object
- Provide global (public) access to a schema object
- Provide location transparency for tables, views, or program units of a remote database.
- Simplify SQL statements for database users
e.g. to query the table PATIENT_REFERRALS with SQL:
SELECT * FROM MySchema.PATIENT_REFERRALS;
CREATE PUBLIC SYNONYM referrals FOR MySchema.PATIENT_REFERRALS;
After the public synonym is created, you can query with a simple SQL statement:
SELECT * FROM referrals;
A view takes the output of a query and makes it appear like a virtual table. You can use a view in most places where a table can be used. All operations performed on a view will affect data in the base table and so are subject to the integrity constraints and triggers of the base table.
A View can be used to simplify SQL statements for the user or to isolate an application from any future change to the base table definition. A View can also be used to improve security by restricting access to a predetermined set of rows or columns.
In addition to operating on base tables, one View can be based on another, a view can also JOIN a view with a table (GROUP BY or UNION).
Using views encourages the use of Shared SQL with the benefit of reduced memory usage.
Read-Only vs Updatable Views
The data dictionary views ALL_UPDATABLE_COLUMNS, DBA_UPDATABLE_COLUMNS, and USER_UPDATABLE_COLUMNS indicate which view columns are updatable.
An updatable view lets you insert, update, and delete rows in the view and propagate the changes to the target master table.
In order to be updatable, a view cannot contain any of the following constructs: SET or DISTINCT operators, an aggregate or analytic function, a GROUP BY, ORDER BY, CONNECT BY, or START WITH clause, a subquery (or collection expression) in a SELECT list or finally (with some exceptions) a JOIN . See the Oracle Database Administrator's Guide for full details. Views that are not updatable can be modified using an INSTEAD OF trigger.
Materialized Views
Materialized views are schema objects that can be used to summarize, precompute, replicate, and distribute data. E.g. to construct a data warehouse.
A materialized view provides indirect access to table data by storing the results of a query in a separate schema object. Unlike an ordinary view, which does not take up any storage space or contain any data.
The existence of a materialized view is transparent to SQL, but when used for query rewrites will improve the performance of SQL execution. An updatable materialized view lets you insert, update, and delete.
You can define a materialized view on a base table, partitioned table or view and you can define indexes on a materialized view.
A materialized view can be stored in the same database as its base table(s) or in a different database. Materialized views stored in the same database as their base tables can improve query performance through query rewrites. Query rewrites are particularly useful in a data warehouse environment.
A materialized view log is a schema object that records changes to a master table's data so that a materialized view defined on the master table can be refreshed incrementally.
Synonyms
A synonym is an alias for any table, view, materialized view, sequence, procedure, function, or package. A public synonym is owned by the user group PUBLIC and every user in a database can access it. A private synonym is in the schema of a specific user who has control over its availability to others.
Synonyms are used to:
- Mask the real name and owner of a schema object
- Provide global (public) access to a schema object
- Provide location transparency for tables, views, or program units of a remote database.
- Simplify SQL statements for database users
e.g. to query the table PATIENT_REFERRALS with SQL:
SELECT * FROM MySchema.PATIENT_REFERRALS;
CREATE PUBLIC SYNONYM referrals FOR MySchema.PATIENT_REFERRALS;
After the public synonym is created, you can query with a simple SQL statement:
SELECT * FROM referrals;
Wednesday, May 11, 2016
How to bring sentence till the second occurrence of mentioned word
Bu using regular expression it is possible to find sentence till the second occurrence of mentioned word.
select
regexp_replace('Payables A 2204216 22490587 Payables A 15 2648191', '^(.*)Payables.*$', '\1') p_result
from dual
select
substr('Payables A 2204216 22490587 Payables A 15 22648191',1
,instr('Payables A 2204216 22490587 Payables A 15 22648191', 'Payables',1,2)-1) NAMES
from dual;
substr('Payables A 2204216 22490587 Payables A 15 22648191',1
,instr('Payables A 2204216 22490587 Payables A 15 22648191', 'Payables',1,2)-1) NAMES
from dual;
How to find number of words in the string
By using length function it is possible to find number of
words in the sentence. First, we find
the length of the string and length of the same string without spaces. The
difference between them plus 1 will be the number of words in the sentence.
SELECT LENGTH('Oracle PL SQL') - LENGTH(REPLACE('Oracle PL SQL', ' ', '')) + 1 WordCount
from DUAL
Tuesday, May 10, 2016
PROCEDURES
This Oracle tutorial explains how to create and drop procedures in Oracle/PLSQL with syntax and examples.
CREATE PROCEDURE
Just as you can in other languages, you can create your own procedures in Oracle.
Syntax
The syntax to create a procedure in Oracle is:
CREATE [OR REPLACE] PROCEDURE procedure_name
[ (parameter [,parameter]) ]
IS
[declaration_section]
BEGIN
executable_section
[EXCEPTION
exception_section]
END [procedure_name];
When you create a procedure or function, you may define parameters. There are three types of parameters that can be declared:
- IN - The parameter can be referenced by the procedure or function. The value of the parameter can not be overwritten by the procedure or function.
- OUT - The parameter can not be referenced by the procedure or function, but the value of the parameter can be overwritten by the procedure or function.
- IN OUT - The parameter can be referenced by the procedure or function and the value of the parameter can be overwritten by the procedure or function.
Example
Let's look at an example of how to create a procedure in Oracle.
The following is a simple example of a procedure:
CREATE OR REPLACE Procedure UpdateCourse
( name_in IN varchar2 )
IS
cnumber number;
cursor c1 is
SELECT course_number
FROM courses_tbl
WHERE course_name = name_in;
BEGIN
open c1;
fetch c1 into cnumber;
if c1%notfound then
cnumber := 9999;
end if;
INSERT INTO student_courses
( course_name,
course_number )
VALUES
( name_in,
cnumber );
commit;
close c1;
EXCEPTION
WHEN OTHERS THEN
raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM);
END;
This procedure is called UpdateCourse. It has one parameter called name_in. The procedure will lookup the course_number based on course name. If it does not find a match, it defaults the course number to 99999. It then inserts a new record into the student_courses table.
DROP PROCEDURE
Once you have created your procedure in Oracle, you might find that you need to remove it from the database.
Syntax
The syntax to a drop a procedure in Oracle is:
DROP PROCEDURE procedure_name;
- procedure_name
- The name of the procedure that you wish to drop.
Example
Let's look at an example of how to drop a procedure in Oracle.
For example:
DROP PROCEDURE UpdateCourse;
This example would drop the procedure called UpdateCourse
FUNCTIONS
This Oracle tutorial explains how to create and drop functions in Oracle/PLSQL with syntax and examples.
CREATE FUNCTION
Just as you can in other languages, you can create your own functions in Oracle.
Syntax
The syntax to create a function in Oracle is:
CREATE [OR REPLACE] FUNCTION function_name [ (parameter [,parameter]) ] RETURN return_datatype IS | AS [declaration_section] BEGIN executable_section [EXCEPTION exception_section] END [function_name];
When you create a procedure or function, you may define parameters. There are three types of parameters that can be declared:
- IN - The parameter can be referenced by the procedure or function. The value of the parameter can not be overwritten by the procedure or function.
- OUT - The parameter can not be referenced by the procedure or function, but the value of the parameter can be overwritten by the procedure or function.
- IN OUT - The parameter can be referenced by the procedure or function and the value of the parameter can be overwritten by the procedure or function.
Example
Let's look at an example of how to create a function in Oracle.
The following is a simple example of an Oracle function:
CREATE OR REPLACE Function FindCourse
( name_in IN varchar2 )
RETURN number
IS
cnumber number;
cursor c1 is
SELECT course_number
FROM courses_tbl
WHERE course_name = name_in;
BEGIN
open c1;
fetch c1 into cnumber;
if c1%notfound then
cnumber := 9999;
end if;
close c1;
RETURN cnumber;
EXCEPTION
WHEN OTHERS THEN
raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM);
END;
This function is called FindCourse. It has one parameter called name_in and it returns a number. The function will return the course number if it finds a match based on course name. Otherwise, it returns a 99999.
You could then reference your new function in a SQL statement as follows:
SELECT course_name, FindCourse(course_name) AS course_id FROM courses WHERE subject = 'Mathematics';
DROP FUNCTION
Once you have created your function in Oracle, you might find that you need to remove it from the database.
Syntax
The syntax to a drop a function in Oracle is:
DROP FUNCTION function_name;
- function_name
- The name of the function that you wish to drop.
Example
Let's look at an example of how to drop a function in Oracle.
For example:
DROP FUNCTION FindCourse;
This example would drop the function called FindCourse.
COMMENTS
This SQL tutorial explains how to use comments within your SQL statements with syntax and examples.
DESCRIPTION
In SQL, you can comment your code just like any other language. Comments can appear on a single line or span across multiple lines. Let's explore how to comment your SQL statements.
SYNTAX
There are two syntaxes that you can use to create a comment in SQL.
Syntax Using -- symbol
The syntax for creating a comment in SQL using
-- symbol is:-- comment goes here
A comment started with
-- symbol must be at the end of a line in your SQL statement with a line break after it. This method of commenting can only span a single line within your SQL and must be at the end of the line.
Syntax Using /* and */ symbols
The syntax for creating a comment in SQL using
/* and */ symbols is:/* comment goes here */
A comment that starts with
/* symbol and ends with */ and can be anywhere in your SQL statement. This method of commenting can span several lines within your SQL.EXAMPLE - COMMENT ON A SINGLE LINE
Let's look at an example that shows how to create a comment in SQL that is on a single line.
For example:
Here is a comment that appears on its own line in SQL:
SELECT websites.site_name /* Author: TechOnTheNet.com */ FROM websites;
Here is a comment that appears in the middle of the line in SQL:
SELECT /* Author: TechOnTheNet.com */ websites.site_name FROM websites;
Here is a comment that appears at the end of the line in SQL:
SELECT websites.site_name /* Author: TechOnTheNet.com */ FROM websites;
or
SELECT websites.site_name -- Author: TechOnTheNet.com FROM websites;
EXAMPLE - COMMENT ON MULTIPLE LINES
You can also create a comment that spans multiple lines in your SQL statement.
For example:
SELECT websites.site_name /* * Author: TechOnTheNet.com * Purpose: To show a comment that spans multiple lines in your SQL statement. */ FROM websites;
This comment spans across multiple lines in SQL and in this example, it spans across 4 lines.
You can also create a comment that spans multiple lines using this syntax:
SELECT websites.site_name /* Author: TechOnTheNet.com Purpose: To show a comment that spans multiple lines in your SQL statement. */ FROM websites;
SQL will assume that everything after the
/* symbol is a comment until it reaches the */ symbol, even if it spans multiple lines within the SQL statement. So in this example, the comment will span across 2 lines.
Subscribe to:
Posts (Atom)