Showing posts with label SQL. Show all posts
Showing posts with label SQL. Show all posts
Saturday, July 11, 2015
Friday, May 9, 2014
ORACLE SQL Interview Practical Questions with Queries With Answers Part 4
51) What is
SET?
SET command
changes the system variables affecting the report environment.
52) What is
SPOOL?
SPOOL command
creates a print file of the report.
53) What is a
JOIN?
JOIN is the
form of SELECT command that combines info from two or more tables.
Types of Joins
are Simple (Equijoin & Non-Equijoin), Outer & Self join.
Equijoin
returns rows from two or more tables joined together based upon a equality
condition in the WHERE clause.
Non-Equijoin
returns rows from two or more tables based upon a relationship other than the
equality condition in the WHERE clause.
Outer Join
combines two or more tables returning those rows from one table that have no
direct match in the other table.
Self Join joins
a table to itself as though it were two separate tables.
54) What is
Union?
Union is the
product of two or more tables.
55) What is
Intersect?
Intersect is
the product of two tables listing only the matching rows.
56) What is
Minus?
Minus is the
product of two tables listing only the non-matching rows.
57)What is
Correlated Subquery?
Correlated
Subquery is a subquery that is evaluated once for each row processed by the
parent statement. Parent statement can be Select, Update or Delete. Use CRSQ to
answer multipart questions whose answer depends on the value in each row
processed by parent statement.
58) What is
Multiple columns?
Multiple
columns can be returned from a Nested Subquery.
59) What is
Sequences?
Sequences are
used for generating sequence numbers without any overhead of locking. Drawback
is that after generating a sequence number if the transaction is rolled back,
then that sequence number is lost.
Sequence is a
database object used to generate unique sequential integer values.
60) What is
Synonyms?
Synonyms is the
alias name for table, views, sequences & procedures and are created for
reasons of Security and Convenience.Two levels are
Public - created by DBA & accessible to all the users. Private - Accessible
to creator only. Advantages are referencing without specifying the owner and
Flexibility to customize a more meaningful naming convention.
61) What is
Data types?
Max. columns in
a table is 255. Max. Char size is 255, Long is 64K & Number is 38 digits.
Cannot Query on
a long column.
Char, Varchar2
Max. size is 2000 & default is 1 byte.
Number(p,s) p
is precision range 1 to 38, s is scale -84 to 127.
Long Character
data of variable length upto 2GB.
Date Range from
Jan 4712 BC to Dec 4712 AD.
Raw Stores
Binary data (Graphics Image & Digitized Sound). Max. is 255 bytes.
Mslabel Binary
format of an OS label. Used primarily with Trusted Oracle.
62) What is
Transaction?
Transaction is
defined as all changes made to the database between successive commits.
63) What is
Commit?
Commit is an
event that attempts to make data in the database identical to the data in the
form. It involves writing or posting data to the database and committing data
to the database. Forms check the validity of the data in fields and records
during a commit. Validity check are uniqueness, consistency and db
restrictions.
64) What is
Posting?
Posting is an
event that writes Inserts, Updates & Deletes in the forms to the database
but not committing these transactions to the database.
65) What is
Savepoint?
Savepoint is a
point within a particular transaction to which you may rollback without rolling
back the entire transaction.
66) What is Set
Transaction?
Set Transaction
is to establish properties for the current transaction.
67) What is
Locking?
Locking are
mechanisms intended to prevent destructive interaction between users accessing
data. Locks are used to achieve.
68) What is SQL
Deadlock?
Deadlock is a
unique situation in a multi user system that causes two or more users to wait
indefinitely for a locked resource. First user needs a resource locked by the
second user and the second user needs a resource locked by the first user. To
avoid dead locks, avoid using exclusive table lock and if using, use it in the
same sequence and use Commit frequently to release locks
.
69) Give the
structure of the procedure ?
PROCEDURE name
(parameter list.....)
is
local variable
declarations
BEGIN
Executable
statements.
Exception.
exception
handlers
end;
basically
procedure has three
parts
1.variable
declaretion(optional)
2.body(mandetory)
3.Exception(optional)
suppose ex
CREATE OR
REPLACEPROCEDURE emp_pro( p_id IN employees.employee_id%TYPE)
IS
v_name
employees.last_name%TYPE;
v_mail
employees.email%TYPE;
BEGIN
SELECT
last_name,email INTO v_name,v_mail FROM employees
WHERE
employee_id:=p_id;
DBMS_OUTPUT.PUT_LINE('NAME:'||v_name
||'MAILID:'||v_mail);
END;
70) What is
Mutating SQL Table?
Mutating Table
is a table that is currently being modified by an Insert, Update or Delete
statement. Constraining Table is a table that a triggering statement might need
to read either directly for a SQL statement or indirectly for a declarative
Referential Integrity constraints. Pseudo Columns behaves like a column in a
table but are not actually stored in the table. E.g. Currval, Nextval, Rowid,
Rownum, Level etc.
71) What is
SQL*Loader?
SQL*Loader is a
product for moving data in external files into tables in an Oracle database. To
load data from external files into an Oracle database, two types of input must
be provided to SQL*Loader : the data itself and the control file. The control
file describes the data to be loaded. It describes the Names and format of the
data files, Specifications for loading data and the Data to be loaded
(optional). Invoking the loader sqlload username/password controlfilename
<options>.
72) What are
the return values of functions SQLCODE and SQLERRM ?
SQLCODE returns
the latest code of the error that has occurred.
SQLERRM returns
the relevant error message of the SQLCODE.
SQLCODE returns
the latest code of the error that has occured.
SQLERRM returns
relevant massege
of the error
code
73) The most
important DDL statements in SQL are?
CREATE TABLE -
creates a new database table
ALTER TABLE -
alters (changes) a database table
DROP TABLE -
deletes a database table
CREATE INDEX -
creates an index (search key)
DROP INDEX -
deletes an index
74) Operators
used in SELECT statements are?
= Equal
<> or !=
Not equal
> Greater
than
< Less than
>= Greater
than or equal
<= Less than
or equal
BETWEEN Between
an inclusive range
LIKE Search for
a pattern
75) SELECT
statements in SQL?
SELECT
column_name(s) FROM table_name
SELECT DISTINCT
column_name(s) FROM table_name
SELECT column
FROM table WHERE column operator value
SELECT column
FROM table WHERE column LIKE pattern
SELECT
column,SUM(column) FROM table GROUP BY column
SELECT
column,SUM(column) FROM table GROUP BY column HAVING SUM(column) condition
value
Note that
single quotes around text values and numeric values should not be enclosed in
quotes. Double quotes may be acceptable in some databases.
76) What are
the PL/SQL Statements used in cursor processing ?
DECLARE CURSOR
cursor name, OPEN cursor name, FETCH cursor name INTO or Record types, CLOSE
cursor name.
77) The SELECT
INTO Statement is most often used to create backup copies of tables or for
archiving records?
SELECT
column_name(s) INTO newtable [IN externaldatabase] FROM source
SELECT
column_name(s) INTO newtable [IN externaldatabase] FROM source WHERE
column_name operator value.
78) The INSERT
INTO Statements in SQL?
INSERT INTO
table_name VALUES (value1, value2,....)
INSERT INTO
table_name (column1, column2,...) VALUES (value1, value2,....)
79) The Update
Statement in SQL.
UPDATE
table_name SET column_name = new_value WHERE column_name = some_value
80) What is the
Delete Statements in SQL?
Delete
statement in SQL is used to delete partial/all data.
Especially
delete statement is useful in case of partial delete depending upon our
criterias otherwise use TRUNCATE to delete whole data from table.
When delete
command fires then:
1) Triggers
will fire (If created on that table)
2) This will
not auto commit changes made So there is one chance to rollback.
3) If u delete
whole data then HWM (Highest Water Mark) will not change which gets changed in
case of Truncate.
81) How to sort
the rows in SQL?
SELECT column1,
column2, ... FROM table_name ORDER BY columnX, columnY, ..
SELECT column1,
column2, ... FROM table_name ORDER BY columnX DESC
SELECT column1,
column2, ... FROM table_name ORDER BY columnX DESC, columnY ASC
82) The IN
operator may be used if you know the exact value you want to return for at
least one of the columns.
SELECT
column_name FROM table_name WHERE column_name IN (value1,value2,..)
*******Thank you for reading and All the best**************
Your comments will help me a lot...please give your comments which will encourage me to post more.....
*******Thank you for reading and All the best**************
Your comments will help me a lot...please give your comments which will encourage me to post more.....
ORACLE SQL Interview Practical Questions with Queries With Answers Part 3
31) In pl/sql
functions what is use of out parameter even though we have return statement.
With out
parameters you can get the more than one out values in the calling program. It
is recommended not to use out parameters in functions. If you need more than
one out values then use procedures instead of functions.
We can't use
OUT paramter in function.We must have to use RETURN to pass values out of
function otherwise use procs
32) What is
difference between a Cursor declared in a procedure and Cursor declared in a
package specification ?
A cursor
declared in a package specification is global and can be accessed by other
procedures or procedures in a package.
A cursor
declared in a procedure is local to the procedure that can not be accessed by
other procedures.
One more
differene is cursor declared in a package specification must have RETURN type
A cursor
declare in the package
specification
that can be accessed
in the other
procedure or procedures of the package.
A cursor declare
in the procedure
that can't be
accessed by other procedure.
33) What is
Character Functions?
Character
Functions are INITCAP, UPPER, LOWER, SUBSTR & LENGTH. Additional functions
are GREATEST & LEAST. Group Functions returns results based upon groups of
rows rather than one result per row, use group functions. They are AVG, COUNT,
MAX, MIN & SUM.
34) What are
the cursor attributes used in PL/SQL ?
%ISOPEN - to
check whether cursor is open or not
% ROWCOUNT -
number of rows fetched/updated/deleted.
% FOUND - to
check whether cursor has fetched any row. True if rows are fetched.
% NOT FOUND -
to check whether cursor has fetched any row. True if no rows are featched.
These
attributes are proceeded with SQL for Implicit Cursors and with Cursor name for
Explicit Cursors.
35) What are
the datatypes a available in PL/SQL ?
1. Character
Datatypes:
char(size),
nchar(size),
varchar2(size),
nvarchar2(size),
long, raw,
longraw
2. Numeric
Datatypes
number(p,s),
numeric(p,s),
float,
dec(p,s), decimal(p,s),
integer, int,
smallint,real,
double
precision
3. Date/Time
Datatypes:
date,
timestamp,
timestamp with
local time zone,
timestamp with
time zone,
interval year
to month,
interval day to
seconds
4. LOB data
types:
bfile,blob,clob,nclob
5. Rowid Data
types:
rowid,urowid
36) What are
the components of a PL/SQL block ?
A set of
related declarations and procedural statements is called block.
components of
PL/SQL are:
declare:
(optional) variable declare
Begin:
(Mandatory)Procedural statement
Exception:
(optional)
error to be trapped
End:
(Mandatory)
So BEGIN and END are required in PL/SQL block
declare:
(optional) variable declare
Begin:
(Mandatory)Procedural statement
Exception:
(optional)
error to be trapped
End:
(Mandatory)
So BEGIN and END are required in PL/SQL block
37) How to
disable multiple triggers of a table at at a time?
ALTER
TABLE<TABLE NAME> DISABLE ALL TRIGGER
ALTER TABLE
TT_DCB DISABLE ALL TRIGGERS
38) What are
the components of a PL/SQL Block ?
Declarative
part, Executable part and Exception part.
Datatypes
PL/SQL
39) What is
Consistency?
Consistency :
Assures users that the data they are changing or viewing is not changed until
the are thro' with it.
40) What are
advantages fo Stored Procedures
Extensibility,Modularity,
Reusability, Maintainability and one time compilation.
Easy
maintenance
? Improved data
security and integrity
? Improved
performance
Modularity,
Reusability, one time compilation.
Faster in
execution: As Procedure is a complied schema object and stored in database,
hence it takes less time to execution.
41) What is
PL/SQL table ?
Objects of type
TABLE are called "PL/SQL tables", which are modeled as (but not the
same as) database tables, PL/SQL tables use a primary PL/SQL tables can have
one column and a primary key.
Cursors
TYPE tab IS
TABLE OF VARCHAR2(30);
This way we can
make declaration of PL/SQL tables. They are also reffed as Nested Table and are
pat of PLSQL collections. They are used for bulk data processing.
42) In a
Distributed Database System Can we execute two queries simultaneously ? Justify
?
As Distributed
database system based on 2 phase commit,one query is independent of 2 nd query
so of course we can run.
43) What is
Indexes?
Indexes are
optional structures associated with tables used to speed query execution and/or
guarantee uniqueness. Create an index if there are frequent retrieval of fewer
than 10-15% of the rows in a large table and columns are referenced frequently
in the WHERE clause. Implied tradeoff is query speed vs. update speed. Oracle
automatically update indexes. Concatenated index max. is 16 columns.
44) Give the
structure of the function ?
FUNCTION name
(argument list .....) Return datatype is
local variable
declarations
Begin
executable
statements
Exception
execution
handlers
End;
create or
replace function <name>(arg1,arg2,....)
return datatype
as
....
variable
declaration
begin
...
program code
...
return
<variable>
exception
exception
statement
end;
45) What is a
cursor ? Why Cursor is required ?
Cursor is a
named private SQL area from where information can be accessed. Cursors are
required to process rows individually for queries returning multiple rows.
The oracle
server uses works areas
called private
sql area.Here all the DML statement is executed and to processing
statement.basically
it's a implicit
cursor.
there are two
types of cursor
1.Implicit
cursor.
2.Explicit
cursor.
Implicit cursor
is open for all DML statement.after execute the statement cursor is
atomatically closed.
Explicit cursor
is created by programmer.
explicit cursor
is needed when
query returns
more than one rows.
In that
case,programmer creates
explicit
cursor.open the cursor.
then fetch the
value from the active set.
after fetching
all the value,
cursor is
closed by programmer.
46) What is the
use of CASCADE CONSTRAINTS?
When this
clause is used with the DROP command, a parent table can be dropped even when a
child table exists.
47) What is
Date Functions?
48) What is TTITLE
and BTITLE?
TTITLE &
BTITLE are commands to control report headings & footers.
ttitle and
btitle used in sql * in reports . to show the header and footer of the reports.
49) What is
COLUMN?
COLUMN command
define column headings & format data values.
50) What is
COMPUTE?
command control
computations on subsets created by the BREAK command.
*******Thank you for reading and All the best**************
Your comments will help me a lot...please give your comments which will encourage me to post more.....
ORACLE SQL Interview Practical Questions with Queries With Answers Part 2
15) What is
PL/SQL ?
PL/SQL is a
procedural language that has both interactive SQL and procedural programming
language constructs such as iteration, conditional branching.
16) Explain how
procedures and functions are called in a PL/SQL block ?
Function is
called as part of an expression.
sal :=
calculate_sal ('a822');
procedure is
called as a PL/SQL statement
calculate_bonus
('A822');
Function can be
called from SQL query + explicitly as well
e.g 1)select
empno,salary,fn_comm(salary)from employee;
2)commision=fn_comm(salary);
Procedure can
be called from begin-end clause.
e.g.
Begin
(
proc_comm(salary);
)end
17) What is ref
cursor?
Ref Cursor is
cursor variable. It is a pointer to a result set. It is useful in scenarios
when result set is created in one program and the processing of the same in
some other, might be written in different language, e.g. firing the select is
done in PL/SQL and the processing will be done in Java.
Its a run time
query binding with the cursor variable. Normal cursors are static cursors becaz
they get acquited of query at the compile time.
Ref cursor is
user defined type.Ref cursor allows any type of query for the cursor.Ref cursor
is a global declaration of the cursor.Ref cursor is re-usable.
Ref cursor
reduces the number of declarations of the cursor in the entire plsql
program.Ref cursor is either static or dynamic.
18) What are two
parts of package ?
1)package
specification
2)package body
package specification :
where the variables r global and all the packages can access with that variable.it contains the declaration of variables.(variables r global)
package body:
where the procedures and functions are collected in that packages.the variable declared with in package body of a function or procedure they are not used outside of that procedure.(the variables are private used by that specific procedure or function.
2)package body
package specification :
where the variables r global and all the packages can access with that variable.it contains the declaration of variables.(variables r global)
package body:
where the procedures and functions are collected in that packages.the variable declared with in package body of a function or procedure they are not used outside of that procedure.(the variables are private used by that specific procedure or function.
create or
replace package taxes
is
tax number;
----declare all public procedure/funcation
end taxes;
create or replace package body taxes
is
---declare all private variable
---declare all public/private procedure/funcations
begin
select rate_value into tax from tax_rates where rate_name='TAX';
end taxes;
is
tax number;
----declare all public procedure/funcation
end taxes;
create or replace package body taxes
is
---declare all private variable
---declare all public/private procedure/funcations
begin
select rate_value into tax from tax_rates where rate_name='TAX';
end taxes;
19) What is a
stored procedure ?
A stored
procedure is a named pl/sql block which performs an action.It is stored in the
database as a schema object and can be repeatedly executed.It can be invoked,
parameterised and nested.
20) What are % TYPE
and % ROWTYPE ? What are the advantages of using these over datatypes?
% TYPE provides
the data type of a variable or a database column to that variable.
% ROWTYPE provides the record type that represents a entire row of a table or view or columns selected in the cursor.
The advantages are : I. Need not know about variable's data type
ii. If the database definition of a column in a table changes, the data type of a variable changes accordingly.
% ROWTYPE provides the record type that represents a entire row of a table or view or columns selected in the cursor.
The advantages are : I. Need not know about variable's data type
ii. If the database definition of a column in a table changes, the data type of a variable changes accordingly.
%TYPE provides
datatypes of the particular column of the table.
%ROWTYPE attribute is useful
When we need to fetch entire row from the table.
secondly if we don't know the data type of some column %rowtype is useful for that.
finally, if we change any datatypes of the column,%rowtype automatically change the datatypes for the variable which is created by user
%ROWTYPE attribute is useful
When we need to fetch entire row from the table.
secondly if we don't know the data type of some column %rowtype is useful for that.
finally, if we change any datatypes of the column,%rowtype automatically change the datatypes for the variable which is created by user
21) What are
the modes of parameters that can be passed to a procedure ?
IN,OUT,IN-OUT
parameters.
IN parameter is
the default mode which acts as a constant inside calling environment.value
passed in this parameter can not be changed.OUT parameter mode is used to pass
value from calling environment into main block,here we can change the value.It
acts as a variable inside calling environment.
INOUT parameter
mode which pass value into calling environment and will get the value back in
main block.
IN parameter
mode uses call by reference method to pass value from formal parameter to
actual parameter.
OUT & INOUT
parameter mode uses call by value method to pass values.
22) How we can
create a table through procedure ?
create
procedure p1 is
begin
EXECUTE
IMMEDIATE 'CREATE TABLE temp AS
SELECT * FROM
emp ' ;
END;
23) What will
happen after commit statement ?
After commit
statement,all the transaction will be ended.
all the changes
data are parmanently stored in the database.
24) 1)What is
the starting "oracle error number"?
2)What is meant
by forward declaration in functions?
One must
declare an identifier before referencing it. Once it is declared it can be
referred even before defining it in the PL/SQL. This rule applies to function
and procedures also
ORACLE ERROR NO
starts with ORA 00001
25) Explain the
two type of Cursors ?
There are two
types of cursors, Implicit Cursor and Explicit Cursor.
PL/SQL uses
Implicit Cursors for queries. User defined cursors are called Explicit Cursors.
They can be declared and used.
there are two
types of cursor
1.implicit
cursor
2. Explicit
cursor
26) What is
Overloading of procedures ?
Overloading of
procedure
name of the
procedure is
same but the
number of parameters should be different.In that case,procedure will be
overloaded.
2. if the
number of parameters are same in that case,data type should be different.
if the two
rules are satisfied in that case procedure will be overloaded.
Same procedure
name with different parameters called procedure overloading, parameters may
different by their datatypes, sequence and position.
eg1:
get_employee(Emp_id
number);
get_employee(Emp_id
Varchar(20));
eg2:
get_employee(ID
number, name char(20))
get_employee(ID
Number, name char(20), dept char(20))
get_employee(name
char(20), dept char(20),ID Number)
27) What is Pragma
EXECPTION_INIT ? Explain the usage ?
The PRAGMA
EXECPTION_INIT tells the complier to associate an exception with an oracle
error. To get an error message of a specific oracle error.
e.g. PRAGMA
EXCEPTION_INIT (exception name, oracle error number)
The
PRAGMA_EXCEPTION_INIT
tells the
compiler to assosiate
an exception
with an oracle error.
28) What is
pl/sql?what are the advantages of pl/sql?
PL/SQL is Very
Usefully Language & Tools of Oracle to Manipulate,Restrict,Validate &
Control the Unauthorized Access of Data From the Database.
We Can easily
show multiple records of the multiple table at same time.
And Using
control statement like Loops & If else & Select case we control the
database.
29) What is
Rollback?
Rollback causes
work in the current transaction to be undone.
30) How to
avoid using cursors? What to use instead of cursor and in what cases to do so?
When the number
of rows returned by query is small (around 100), then explicit cursor can be
avoided safely since in those cases using explicit cursor is performance
degrading(CPU overhead).
*******Thank you for reading and All the best**************
Your comments will help me a lot...please give your comments which will encourage me to post more.....
Subscribe to:
Posts (Atom)