Faqs 1
Faqs 1
1. Normal Queries
2. Sub Queries
3. Co-related queries
4. Nested queries
5. Compound queries
2. What is a transaction ?
Answer: A transaction is a set of SQL statements between any two COMMIT and ROLLBACK statements.
3. What is implicit cursor and how is it used by Oracle ?
Answer: An implicit cursor is a cursor which is internally created by Oracle.It is created by Oracle for each
individual SQL.
4. Which of the following is not a schema object : Indexes, tables, public synonyms, triggers and
packages ?
Answer: Public synonyms
5. What is PL/SQL?
Answer: PL/SQL is Oracle's Procedural Language extension to SQL.The language includes object oriented
programming techniques such as encapsulation, function overloading, information hiding (all but
inheritance), and so, brings state-of-the-art programming to the Oracle database server and a variety of
Oracle tools.
6. Is there a PL/SQL Engine in SQL*Plus?
Answer: No.Unlike Oracle Forms, SQL*Plus does not have a PL/SQL engine.Thus, all your PL/SQL are send
directly to the database engine for execution.This makes it much more efficient as SQL statements are
not stripped off and send to the database individually.
7. Is there a limit on the size of a PL/SQL block?
Answer: Currently, the maximum parsed/compiled size of a PL/SQL block is 64K and the maximum code
size is 100K.You can run the following select statement to query the size of an existing package or
procedure. SQL> select * from dba_object_size where name = 'procedure_name'
8. Can one read/write files from PL/SQL?
Answer: Included in Oracle 7.3 is a UTL_FILE package that can read and write files.The directory you
intend writing to has to be in your INIT.ORA file (see UTL_FILE_DIR=...parameter).Before Oracle 7.3 the
only means of writing a file was to use DBMS_OUTPUT with the SQL*Plus SPOOL command.
DECLARE
fileHandler UTL_FILE.FILE_TYPE;
BEGIN
fileHandler := UTL_FILE.FOPEN('/home/oracle/tmp', 'myoutput','W');
UTL_FILE.PUTF(fileHandler, 'Value of func1 is %sn', func1(1));
UTL_FILE.FCLOSE(fileHandler);
END;
9. How can I protect my PL/SQL source code?
Answer: PL/SQL V2.2, available with Oracle7.2, implements a binary wrapper for PL/SQL programs to
protect the source code.This is done via a standalone utility that transforms the PL/SQL source code into
portable binary object code (somewhat larger than the original).This way you can distribute software
without having to worry about exposing your proprietary algorithms and methods.SQL*Plus and SQL*DBA
will still understand and know how to execute such scripts.Just be careful, there is no "decode" command
available. The syntax is: wrap iname=myscript.sql oname=xxxx.yyy
10. Can one use dynamic SQL within PL/SQL? OR Can you use a DDL in a procedure ? How ?
Answer: From PL/SQL V2.1 one can use the DBMS_SQL package to execute dynamic SQL statements.
Eg: CREATE OR REPLACE PROCEDURE DYNSQL AS
cur integer;
rc integer;
BEGIN
cur := DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE(cur,'CREATE TABLE X (Y DATE)', DBMS_SQL.NATIVE);
rc := DBMS_SQL.EXECUTE(cur);
DBMS_SQL.CLOSE_CURSOR(cur);
END;
32. Why Create or Replace and not Drop and recreate procedures ?
Answer: So that Grants are not dropped.
33. Can you pass parameters in packages ? How ?
Answer: Yes.You can pass parameters to procedures or functions in a package.
34. What are the parts of a database trigger ?
Answer: The parts of a trigger are:
A triggering event or statement
A trigger restriction
A trigger action
35. What are the various types of database triggers ?
Answer: There are 12 types of triggers, they are combination of :
Insert, Delete and Update Triggers.
Before and After Triggers.
Row and Statement Triggers.
36. What is the advantage of a stored procedure over a database trigger ?
Answer: We have control over the firing of a stored procedure but we have no control over the firing of a
trigger.
37. What is the maximum no.of statements that can be specified in a trigger statement ?
Answer: One.
38. Can views be specified in a trigger statement ?
Answer: No
39. What are the values of :new and :old in Insert/Delete/Update Triggers ?
Answer: INSERT : new = new value, old = NULL
DELETE : new = NULL, old = old value
UPDATE : new = new value, old = old value
40. What are cascading triggers? What is the maximum no of cascading triggers at a time?
Answer: When a statement in a trigger body causes another trigger to be fired, the triggers are said to be
cascading.Max = 32.
41. What are mutating triggers ?
Answer: A trigger giving a SELECT on the table on which the trigger is written.
42. What are constraining triggers ?
Answer: A trigger giving an Insert/Updat e on a table having referential integrity constraint on the
triggering table.
43. Describe Oracle database's physical and logical structure ?
Answer:
Physical : Data files, Redo Log files, Control file.
Logical : Tables, Views, Tablespaces, etc.
44. Can you increase the size of a tablespace ? How ?
Answer: Yes, by adding datafiles to it.
45. Can you increase the size of datafiles ? How ?
Answer: No (for Oracle 7.0)
Yes (for Oracle 7.3 by using the Resize clause )
46. What is the use of Control files ?
Answer: Contains pointers to locations of various data files, redo log files, etc.
47. What is the use of Data Dictionary ?
Answer: It Used by Oracle to store information about various physical and logical Oracle structures
e.g.Tables, Tablespaces, datafiles, etc
48. What are the advantages of clusters ?
Answer: Access time reduced for joins.
49. What are the disadvantages of clusters ?
Answer: The time for Insert increases.
50. Can Long/Long RAW be clustered ?
Answer: No.
51. Can null keys be entered in cluster index, normal index ?
Answer: Yes.
52. Can Check constraint be used for self referential integrity ? How ?
Answer: Yes.In the CHECK condition for a column of a table, we can reference some other column of the
same table and thus enforce self referential integrity.
53. What are the min.extents allocated to a rollback extent ?
Answer: Two
54. What are the states of a rollback segment ? What is the difference between partly available
and needs recovery ?
Answer: The various states of a rollback segment are :
ONLINE
OFFLINE
PARTLY AVAILABLE
NEEDS RECOVERY
INVALID.
55. What is the difference between unique key and primary key ?
Answer: Unique key can be null; Primary key cannot be null.
56. An insert statement followed by a create table statement followed by rollback ? Will the rows
be inserted ?
Answer: No.
57. Can you define multiple savepoints ?
Answer: Yes.
58. Can you Rollback to any savepoint ?
Answer: Yes.
59. What is the maximum no.of columns a table can have ?
Answer: 254.
60. What is the significance of the & and && operators in PL SQL ?
Answer: The & operator means that the PL SQL block requires user input for a variable.
The && operator means that the value of this variable should be the same as inputted by the user
previously for this same variable
61. Can you pass a parameter to a cursor ?
Answer: Explicit cursors can take parameters, as the example below shows.A cursor parameter can
appear in a query wherever a constant can appear.
CURSOR c1 (median IN NUMBER) IS
SELECT job, ename FROM emp WHERE sal > median;
62. What are the various types of RollBack Segments ?
Answer: The types of Rollback sagments are as follows :
Public Available to all instances
Private Available to specific instance
63. Can you use %RowCount as a parameter to a cursor ?
Answer: Yes
64. Is the query below allowed :
Select sal, ename Into x From emp Where ename = 'KING' (Where x is a record of Number(4) and
Char(15))
Answer: Yes
65. Is the assignment given below allowed :
ABC = PQR (Where ABC and PQR are records)
Answer: Yes
66. Is this for loop allowed :
For x in &Start..&End Loop
Answer: Yes
67. How many rows will the following SQL return :
Select * from emp Where rownum < 10;
Answer: 9 rows
68. How many rows will the following SQL return :
Select * from emp Where rownum = 10;
Answer: No rows
69. Which symbol preceeds the path to the table in the remote database ?
Answer: @
70. Are views automatically updated when base tables are updated ?
Answer: Yes
71. Can a trigger written for a view ?
Answer: No
72. If all the values from a cursor have been fetched and another fetch is issued, the output will
be : error, last record or first record ?
Answer: Last Record
73. A table has the following data : [[5, Null, 10]].What will the average function return ?
Answer: 7.5
74. Is Sysdate a system variable or a system function?
Answer: System Function
75. Consider a sequence whose currval is 1 and gets incremented by 1 by using the nextval
reference we get the next number 2.Suppose at this point we issue an rollback and again
issue a nextval.What will the output be ?
Answer: 3
76. Definition of relational DataBase by Dr.Codd (IBM)?
Answer: A Relational Database is a database where all data visible to the user is organized strictly as
tables of data values and where all database operations work on these tables.
77. What is Multi Threaded Server (MTA) ?
Answer: In a Single Threaded Architecture (or a dedicated server configuration) the database manager
creates a separate process for each database user.But in MTA the database manager can assign multiple
users (multiple user processes) to a single dispatcher (server process), a controlling process that queues
request for work thus reducing the databases memory requirement and resources.
78. Which are initial RDBMS, Hierarchical & N/w database ?
Answer:
RDBMS - R system
Hierarchical - IMS
N/W - DBTG
79. Difference between Oracle 6 and Oracle 7
Answer:
ORACLE 7 ORACLE 6
Cost based optimizer Rule based optimizer
Shared SQL Area SQL area allocated for each user
Multi Threaded Server Single Threaded Server
Hash Clusters Only B-Tree indexing
Roll back Size Adjustment No provision
Truncate command No provision
Distributed Database Distributed Query
Table replication & snapshots No provision
Client/Server Tech No provision
80. What is Functional Dependency
Answer: Given a relation R, attribute Y of R is functionally dependent on attribute X of R if and only if each
X-value has associated with it precisely one -Y value in R
81. What is Auditing ?
Answer: The database has the ability to audit all actions that take place within it. a) Login attempts, b)
Object Accesss, c) Database Action Result of Greatest(1,NULL) or Least(1,NULL) NULL
82. While designing in client/server what are the 2 imp.things to be considered ?
Answer: Network Overhead (traffic), Speed and Load of client server
83. What are the disadvantages of SQL ?
Answer: Disadvantages of SQL are :
Cannot drop a field
Cannot rename a field
Cannot manage memory
Procedural Language option not provided
Index on view or index on index not provided
View updation problem
84. When to create indexes ?
Answer: To be created when table is queried for less than 2% or 4% to 25% of the table rows.
85. How can you avoid indexes ?
Answer: To make index access path unavailable