Oracle Placement Papers
Oracle Aptitude Questions and Answers - 28 Nov 2008
Oracle Interview Questions and Answers - 24 Nov 2008
Oracle Interview Questions and Answers - 22 Nov 2008
Oracle Technical Paper
Oracle Reasoning paper
Oracle Arithmetic paper 2014
Oracle Reasoning Test - 2012
Oracle Technical Section - March 2011(Chennai)
Oracle Placement Paper - 15 Sep 2007
Oracle Verbal Ability - 2003
Oracle Arithmetic paper - 2002 (Warangal)
Oracle Technical Paper 03 Feb 2001
Oracle Database Questions 2009
Oracle Technical Questions - 2009
Placement Papers for All Companies
Amiti Software Technologies
Ashok Leyland Ltd
AT & T
AXA Technology Services
Bharti Airtel Ltd
Blue Star Infotech
Citicorp Overseas Software Ltd
CtrlS Datacenters Ltd
Ernst & Young
Harita - TVS
HTC Global Services
IBS Software Services
IndiaBulls Power Limited
Jindal Steel and Power Limited
L & T
L & T Infotech
Linde India Ltd
Lucas - TVS
Mahindra Engineering Services Ltd
Poornam Info Vision
PSI Data Systems Limited
SAP labs India
Sutherland Global Services
UTC Aerospace System
Oracle Technical Interview Questions - 26 Nov 2008
Posted on :27-02-2016
Oracle Interview Questions and Answers - 26 Nov 2008:-
Q1. Explain the two types 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.
Q2. What is a Virtual Private Database?
Oracle 8i introduced the notion of a Virtual Private Database (VPD). A VPD offers Fine-Grained Access Control (FGAC) for secure separation of data. This ensures that users only have access to data that pertains to them. Using this option, one could even store multiple companies data within the same schema, without them knowing about it. VPD configuration is done via the DBMS_RLS (Row Level Security) package. Select from SYS.V$VPD_POLICY to see existing VPD configuration
Q3. What is Oracle Label Security?
Oracle Label Security (formerly called Trusted Oracle MLS RDBMS) uses the VPD (Virtual Private Database) feature of Oracle8i to implement row level security. Access to rows are restricted according to a users security sensitivity tag or label. Oracle Label Security is configured, controlled and managed from the Policy Manager, an Enterprise Manager-based GUI utility.
Q4. What is OEM (Oracle Enterprise Manager)?
OEM is a set of systems management tools provided by Oracle Corporation for managing the Oracle environment. It provides tools to monitor the Oracle environment and automate tasks (both one-time and repetitive in nature) to take database administration a step closer to Lights Out management.
Q5. 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.
Q6. How many types of database triggers can be specified on a table? What are they?
Insert Update Delete
Before Statement .
If FOR EACH ROW clause is specified, then the trigger for each Row affected by the statement.
If WHEN clause is specified, the trigger fires according to the returned Boolean value.
Q7. I. Write the order of precedence for validation of a column in a table?
II. Write the order of precedence for validation of a column in a table?
I. done using Database triggers.
II. done using Integrity Constraints.
Q8. What are the advantages of Stored Procedures?
Extensibility, Modularity, Reusability, Maintainability and one time compilation.
Q9. 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.
Q10. What is a database trigger? Name some usages of database trigger?
Database trigger is stored PL/SQL program unit associated with a specific database table. Usages are Audit data modifications, Log events transparently, Enforce complex business rules Derive column values automatically, Implement complex security authorizations. Maintain replicate tables.
Q11. What are the components of a PL/SQL block?
A set of related declarations and procedural statements is called block.
Q12. What are the uses of Database Trigger?
Database triggers can be used to automatic data generation, audit data modifications, enforce complex Integrity constraints, and customize complex security authorizations.
Q13. What is a Package?
A Package is a collection of related procedures, functions, variables and other package constructs together as a unit in the database.
Q14. What are different Oracle database objects?
Q15. What is the difference between SQL and SQL*PLUS?
SQL*PLUS is a command line tool where as SQL and PL/SQL language interface and reporting tool. It is a command line tool that allows user to type SQL commands to be executed directly against an Oracle database. SQL is a language used to query the relational database(DML,DCL,DDL). SQL*PLUS commands are used to format query result, Set options, Edit SQL commands and PL/SQL.
Q16. What are various privileges that a user can grant to another user?
Q17. What is difference between Rename and Alias?
Rename is a permanent name given to a table or column whereas Alias is a temporary name given to a table or column which do not exist once the SQL statement is executed.
Q18. What are various constraints used in SQL?
Q19. Difference between NO DATA FOUND and %NOTFOUND?
NO DATA FOUND is an exception raised only for the SELECT....INTO statements when the where clause of the query does not match any rows. When the where clause of the explicit cursor does not match any rows the %NOTFOUND attribute is set to TRUE instead.
Q20. What is the difference between restricted and unrestricted package procedure?
Restricted package procedure that affects the basic functions of SQL * Forms. It cannot used in all triggers except key triggers. Unrestricted package procedure that does not interfere with the basic functions of SQL * Forms it can be used in any triggers
Q21. Give the sequence in which triggers fired during insert operations, when the following 3 triggers are defined at the same block level?
a. ON-INSERTb. POST-INSERTc. PRE-INSERT
Q22. What do you mean by a page?
Pages are collection of display information, such as constant text and graphics
Q23. What is Post-Block?
a. Navigational Trigger.b. Key triggerc. Transaction Trigger.
Q24. A query fetched 10 records. How many times does a PRE-QUERY Trigger and POST-QUERY Trigger will get executed?
PRE-QUERY fires once.
POST-QUERY fires 10 times.
Q25. What the PAUSE package procedure does?
Pause suspends processing until the operator presses a function key.
Q26. What are the types of User Exits?
ORACLE Pre compliers user exits,
OCI (ORACLE Call Interface),
Non-ORACEL user exits.
Q27. What does an on-clear-block Trigger fire?
It fires just before SQL * forms the current block.
Q28. What are the different types of key triggers?
Q29. State the order in which these triggers are executed?
POST-FIELD, ON-VALIDATE-FIELD, POST-CHANGE and KEY-NEXTFLD. KEY-NEXTFLD, POST-CHANGE, ON-VALIDATE-FIELD, POST-FIELD.
Q30. What is the difference between an ON-VALIDATE-FIELD trigger and a trigger?
On-validate-field trigger fires, when the field Validation status New or changed. Post-field-trigger whenever the control leaving form the field, it will fire.
Q31. Name the two files that are created when you generate the form give the file x extension?
INP (Source File)
FRM (Executable File)
Q32. What is the significance of PAGE 0 in forms 3.0?
Hide the fields for internal calculation.
Q33. How can one optimize %XYZ% queries?
It is possible to improve %XYZ% queries by forcing the optimizer to scan all the entries from the index instead of the table. This can be done by specifying hints. If the index is physically smaller than the table (which is usually the case) it will take less time to scan the entire index than to scan the entire table.
Q34. Why is Oracle not using the damn index?
This problem normally only arises when the query plan is being generated by the Cost Based Optimizer. The usual cause is because the CBO calculates that executing a Full Table Scan would be faster than accessing the table via the index.
Fundamental things that can be checked are:
. USER_TAB_COLUMNS.NUM_DISTINCT - This column defines the number of distinct values the column holds.
. USER_TABLES.NUM_ROWS - If NUM_DISTINCT = NUM_ROWS then using an index would be preferable to doing a FULL TABLE SCAN. As the NUM_DISTINCT decreases, the cost of using an index increase thereby is making the index less desirable.
. USER_INDEXES.CLUSTERING_FACTOR - This defines how ordered the rows are in the index. If CLUSTERING_FACTOR approaches the number of blocks in the table, the rows are ordered. If it approaches the number of rows in the table, the rows are randomly ordered. In such a case, it is unlikely that index entries in the same leaf block will point to rows in the same data blocks.
. Decrease the INIT.ORA parameter DB_FILE_MULTIBLOCK_READ_COUNT - A higher value will make the cost of a FULL TABLE SCAN cheaper.
. Remember that you MUST supply the leading column of an index, for the index to be used (unless you use a FAST FULL SCAN or SKIP SCANNING).
. There are many other factors that affect the cost, but sometimes the above can help to show why an index is not being used by the CBO. If from checking the above you still feel that the query should be using an index, try specifying an index hint. Obtain an explain plan of the query either using TKPROF with TIMED_STATISTICS, so that one can see the CPU utilization, or with AUTOTRACE to see the statistics. Compare this to the explain plan when not using an index.
Q35. What are the unrestricted procedures used to change the popup screen position during run time?
Q36. Classify the restricted and unrestricted procedure from the following.
a. Call - unrestricted
b. User Exit - Unrestricted
c. Call_query - Unrestricted
d. Up - Restricted
e. Execute Query - Restricted
f. Message - Restricted
g. Exit_form - Restricted
h. Post - Restricted
i. Break - Unrestricted.
Q37. What package procedure used for invoke sql *plus from sql *forms?
Host (E.g. Host (sqlplus))
Q38. Can we use a restricted package procedure in ON-VALIDATE-FIELD Trigger?
Q39. Can we create two blocks with the same name in form 3.0?
Q40. Is a Key startup trigger fires as result of a operator pressing a key explicitly?
Q41. What is the difference between a Function Key Trigger and Key Function Trigger?
Function key triggers are associated with individual SQL*FORMS function keys You can attach Key function triggers to 10 keys or key sequences that normally do not perform any SQL * FORMS operations. These keys referred as key F0 through key F9.
Q42. Can we use GO-BLOCK package in a pre-field trigger?
Q43. Committed block sometimes refer to a BASE TABLE?
Q44. What is an Alert?
An alert is window that appears in the middle of the screen overlaying a portion of the current display.
Q45. What is the maximum size of a form?
255 character width and 255 characters Length.
Q46. List the system variables related in Block and Field?
Q47. What are the types of TRIGGERS?
1. Navigational Triggers.
2. Transaction Triggers.
Q48. List the windows event triggers available in Forms 4.0?
Q49. What is a visual attribute?
Visual Attributes are the font, color and pattern characteristics of objects that operators see and interact with in our application.
Q50. What is a Layout Editor?
The Layout Editor is a graphical design facility for creating and arranging items and boilerplate text and graphics objects in your applications interface.
Q51. What are the different types of windows?
Root window, secondary window.
Q52. What is a radio Group?
Radio groups display a fixed no of options that are mutually Exclusive. User can select one out of n number of options.
Q53. Give the equivalent term in forms 4.0 for the following: Page, Page 0?
Page - Canvas-View
Page 0 - Canvas-view null.
Q54. List some built-in routines used to manipulate images in image_item?
Q55. Error_Code is a package procedure? a. True b. false
Q56. When is cost based optimization triggered?
Its important to have statistics on all tables for the CBO (Cost Based Optimizer) to work correctly. If one table involved in a statement does not have statistics, Oracle has to revert to rule-based optimization for that statement. So you really want for all tables to have statistics right away; it wont help much to just have the larger tables analyzed.
Generally, the CBO can change the execution plan when you:
1. Change statistics of objects by doing an ANALYZE;
2. Change some initialization parameters (for example: hash_join_enabled, sort_area_size, db_file_multiblock_read_count).
Q57. What Enter package procedure does?
Enter Validate-data in the current validation unit.
Q58. Where can one find I/O statistics per table?
The UTLESTAT report shows I/O per table space but one cannot see what tables in the table space has the most I/O. The $ORACLE_HOME/rdbms/admin/catio.sql script creates a sample_io procedure and table to gather the required information. After executing the procedure, one can do a simple SELECT * FROM io_per_object; to extract the required information. For more details, look at the header comments in the $ORACLE_HOME/rdbms/admin/catio.sql script.
Q59. My query was fine last week and now it is slow. Why?
The likely cause of this is because the execution plan has changed. Generate a current explain plan of the offending query and compare it to a previous one that was taken when the query was performing well. Usually the previous plan is not available.
Some factors that can cause a plan to change are:
. Which tables are currently analyzed? Were they previously analyzed? (ie. Was the query using RBO and now CBO?)
. Has OPTIMIZER_MODE been changed in INIT.ORA?
. Has the DEGREE of parallelism been defined/changed on any table?
. Have the tables been re-analyzed? Were the tables analyzed using estimate or compute? If estimate, what percentage was used?
. Have the statistics changed?
. Has the INIT.ORA parameter DB_FILE_MULTIBLOCK_READ_COUNT been changed?
. Has the INIT.ORA parameter SORT_AREA_SIZE been changed?
. Have any other INIT.ORA parameters been changed?
. What do you think the plan should be? Run the query with hints to see if this produces the required performance.
Q60. When should one rebuild an index?
You can run the ANALYZE INDEX VALIDATE STRUCTURE command on the affected indexes - each invocation of this command creates a single row in the INDEX_STATS view. This row is overwritten by the next ANALYZE INDEX command, so copy the contents of the view into a local table after each ANALYZE. The badness of the index can then be judged by the ratio of DEL_LF_ROWS to LF_ROWS.
Q61. Deleting a page removes information about all the fields in that page? a. True. b. False
Q62. Two popup pages can appear on the screen at a time? a. True. b. False?
Q63. What is a User Exits?
A user exit is a subroutine which are written in programming languages using pro*C pro *Cobol , etc., that link into the SQL * forms executable
Q64. What is a Trigger?
A piece of logic that is executed at or triggered by a SQL *forms event.
Q65. What is a Package Procedure?
A Package procedure is built in PL/SQL procedure.
Q66. What is the difference between system.current_field and system.cursor_field?
1. System.current_field gives name of the field.
2. System.cursor_field gives name of the field with block name.
Q67. What are the different types of Package Procedure?
1. Restricted package procedure.
2. Unrestricted package procedure.
Q68. Identify package function from the following?
8. Anchor View
Q69. Can you attach a lov to a field at run-time? If yes, give the build-in name?
ANS: Yes. Set_item_proprety
Q70. Is it possible to attach same library to more than one form?
Q71. Can you attach a lov to a field at design time?
Q72. What are the triggers associated with the image item?
When-Image-activated(Fires when the operator double clicks on an image Items)
When-image-pressed(fires when the operator selects or deselects the image item)
Q73. How many maximum number of radio buttons can you assign to a radio group?
Unlimited no of radio buttons can be assigned to a radio group
Q74. How do you pass the parameters from one form to another form?
To pass one or more parameters to a called form, the calling form must perform the following steps in a trigger or user named routine execute the create_parameter_list built-in function to programmatically. Create a parameter list to execute the add parameter built-in procedure to add one or more parameters list. Execute the call_form, New_form or run_product built_in procedure and include the name or id of the parameter list to be passed to the called form.
Q75. List the Types of Items?
User Area item.
Q76. List system variables available in forms 4.0, and not available in forms 3.0?
Q77. What are the display styles of an alert?
ANS: Stop, Caution, note.
Q78. What built-in is used for showing the alert during run-time?
Q79. What built-in is used for changing the properties of the window dynamically?
Q80. What is a predefined exception available in forms 4.0?
ANS: Raise form_trigger_failure
Q81. What are the different types of a record group?
Query record group
Static record group
Non query record group
Q82. What are the menu items that oracle forms 4.0 supports?
Plain, Check, Radio, Separator, Magic
Q83. What triggers are associated with the radio group?
Only when-radio-changed trigger associated with radio group , Visual Attributes
Q84. What are the triggers associated with a check box?
Only When-checkbox-activated Trigger associated with a Check box.
Q85.Can you attach an alert to a field?
Q86. Can a root window be made modal?
Q87. What is a list item?
It is a list of text elements.
Q88. Can you change the alert messages at run-time?
If yes, give the name of the built-in to change the alert messages at run-time. Yes. Set_alert_property.
Q89. What is the built-in used to get and set lov properties during run-time?
Q90. What is the built-in routine used to count the no of rows in a group?
Q91. Give the Types of modules in a form?
Q92. Write the Abbreviation for the following File Extension 1. FMB 2. MMB 3. PLL?
FMB ----- Form Module Binary.
MMB ----- Menu Module Binary.
PLL ------ PL/SQL Library Module Binary
Q93. List the built-in routine for controlling window during run-time?
Q94. List the built-in routine for controlling window during run-time?
Q95. What is the built-in function used for finding the alert?
Q96. List the editors available in forms 4.0?
Q97. What built -in routines are used to display editor dynamically?
Q98. What is a Lov?
A list of values is a single or multi column selection list displayed in a pop-up window.
Q99. What is a record Group?
A record group is an internal oracle forms data structure that has a similar column/row frame work to a database table
Q100. Give built-in routine related to record groups?
Q101. List the built-in routines for the controlling canvas views during run-time?
Q102. System.effective_date system variable is read only True/False?
Q103. What are the built_in used to trapping errors in forms 4?
Error_type return character
Error_code return number
Error_text return char
Dbms_error_code return no.
Dbms_error_text return char
Q104. What are the design facilities available in forms 4.0?
Default Block facility.
Tables Columns Browser.
Q105. What is the most important module in Oracle Financials?
The General Ledger (GL) module is the basis for all other Oracle Financial modules. All other modules provide information to it. If you implement Oracle Financials, you should switch your current GL system first.GL is relatively easy to implement. You should go live with it first to give your implementation team a chance to be familiar with Oracle Financials.
Q106. What are the types of canvas-views?
Content View, Stacked View.
Q107. What is the Multi Org and what is it used for?
Multi Org or Multiple Organizations Architecture allows multiple operating units and their relationships to be defined within a single installation of Oracle Applications. This keeps each operating units transaction data separate and secure.
Use the following query to determine if Multi Org is installed:
select multi_org_flag from fnd_product_groups;
Q108. What is the difference between Fields and FlexFields?
A field is a position on a form that one uses to enter, view, update, or delete information. A field prompt describes each field by telling what kind of information appears in the field, or alternatively, what kind of information should be entered in the field.
A flexfield is an Oracle Applications field made up of segments. Each segment has an assigned name and a set of valid values. Oracle Applications uses flexfields to capture information about your organization. There are two types of flexfields: key flexfields and descriptive flexfields.
Q109. Explain types of Block in forms4.0?
Base table Blocks.
1. A base table block is one that is associated with a specific database table or view.
2. A control block is a block that is not associated with a database table.
Q110. What is an Alert?
An alert is a modal window that displays a message notifies the operator of some application condition.
Q111. What are the built-in routines is available in forms 4.0 to create and manipulate a parameter list?
Q112. What is the content view and stacked view?
A content view is the Base view that occupies the entire content pane of the window in which it is displayed. A stacked view differs from a content canvas view in that it is not the base view for the window to which it is assigned
Q113. What is a Check Box?
A Check Box is a two state control that indicates whether a certain condition or value is on or off, true or false. The display state of a check box is always either checked or unchecked.
Q114. What is a canvas-view?
A canvas-view is the background object on which you layout the interface items (text-items, check boxes, radio groups, and so on.) and boilerplate objects that operators see and interact with as they run your form. At run-time, operators can see only those items that have been assigned to a specific canvas. Each canvas, in term, must be displayed in a specific window.
Q115. Explain the following file extension related to library?
The library pll files is a portable design file comparable to an fmb form file
The library lib file is a plat form specific, generated library file comparable to a fmx form file
The pld file is Txt format file and can be used for source controlling your library files Parameter
Q116. Explain the usage of WHERE CURRENT OF clause in cursors?
WHERE CURRENT OF clause in an UPDATE,DELETE statement refers to the latest row fetched from a cursor. Database Triggers
Q117. Name the tables where characteristics of Package, procedure and functions are stored?
User_objects, User_Source and User_error.
Q118. What are two parts of package?
The two parts of package are PACKAGE SPECIFICATION & PACKAGE BODY. Package Specification contains declarations that are global to the packages and local to the schema. Package Body contains actual procedures and local declaration of the procedures and cursor declarations
Q119. What are two virtual tables available during database trigger execution?
The table columns are referred as OLD.column_name and NEW.column_name.
For triggers related to INSERT only NEW.column_name values only available.
For triggers related to UPDATE only OLD.column_name NEW.column_name values only available.
For triggers related to DELETE only OLD.column_name values only available.
Q120. What is Fine Grained Auditing?
Fine Grained Auditing (DBMS_FGA) allows auditing records to be generated when certain rows are selected from a table. A list of defined policies can be obtained from DBA_AUDIT_POLICIES. Audit records are stored in DBA_FGA_AUDIT_TRAIL. Look at this example:
- Add policy on table with Auditing condition...
execute dbms_fga.add_policy(HR, EMP, policy1, deptno > 10);
- Must ANALYZE, this feature works with CBO (Cost Based Optimizer)
analyze table EMP compute statistics;
select * from EMP where c1 = 11; -- Will trigger auditing
select * from EMP where c1 = 09; -- No auditing
- Now we can see the statements that triggered the auditing condition...
select sqltext from sys.fga_log$;
delete from sys.fga_log$;
Q121. What is a package? What are the advantages of packages? 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)
Q122. What is Raise_application_error?
Raise_application_error is a procedure of package DBMS_STANDARD which allows to issue an user_defined error messages from stored sub-program or database trigger.
Q123. Give the structure of the procedure?
PROCEDURE name (parameter list.....)
local variable declarations
Q124. What are the components of OEM?
Oracle Enterprise Manager (OEM) has the following components:
Management Server (OMS): Middle tier server that handles communication with the intelligent agents. The OEM Console connects to the management server to monitor and configure the Oracle enterprise.
Console: This is a graphical interface from where one can schedule jobs, events, and monitor the database. The console can be opened from a Windows workstation, Unix XTerm (oemapp command) or Web browser session (oem_webstage).
Intelligent Agent (OIA): The OIA runs on the target database and takes care of the execution of jobs and events scheduled through the Console.
Q125. What happens if a procedure that updates a column of table X is called in a database trigger of the same table?
Mutation of table occurs.
Q126. Is it possible to use Transaction control Statements such a ROLLBACK or COMMIT in Database Trigger? Why?
It is not possible. As triggers are defined for each table, if you use COMMIT of ROLLBACK in a trigger, it affects logical transaction processing.
Q127. What are the modes of parameters that can be passed to a procedure?
IN, OUT, IN-OUT parameters.
Q128. Where the Pre_defined_exceptions are stored?
In the standard package.
Procedures, Functions & Packages.
Q129. Give the structure of the function?
FUNCTION name (argument list .....) Return data type is
local variable declarations
Q130. 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
Q131. What is an Exception? What are types of Exception?
Exception is the error handling part of PL/SQL block. The types are Predefined and user defined. Some of Predefined exceptions are.
Q132. What are the components of a PL/SQL block?
A set of related declarations and procedural statements is called block.
Q133. 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.
Q134. What is a cursor for loop?
Cursor for loop implicitly declares %ROWTYPE as loop index, opens a cursor, fetches rows of values from active set into fields in the record and closes when all the records have been processed.
Eg. FOR emp_rec IN C1 LOOP
salary_total := salary_total +emp_rec sal;
Q135. What will happen after commit statement?
Cursor C1 is
ename from emp;
open C1; loop
Fetch C1 into
The cursor having query as SELECT .... FOR UPDATE gets closed after COMMIT/ROLLBACK.
The cursor having query as SELECT.... does not get closed even after COMMIT/ROLLBACK.
Q136. How packaged procedures and functions are called from the following?
a. Stored procedure or anonymous block
b. an application program such a PRC *C, PRO* COBOL
c. SQL *PLUS??
a. PACKAGE NAME.PROCEDURE NAME (parameters);
variable := PACKAGE NAME.FUNCTION NAME (arguments);
EXEC SQL EXECUTE
PACKAGE NAME.PROCEDURE NAME (parameters)
variable := PACKAGE NAME.FUNCTION NAME (arguments);
c. EXECUTE PACKAGE NAME. PROCEDURE if the procedures does not have any out/in-out parameters. A function can not be called.
Q137. What is a stored procedure?
A stored procedure is a sequence of statements that perform specific function.
Q138. What is difference between a PROCEDURE & FUNCTION?
A FUNCTION is always returns a value using the return statement.
A PROCEDURE may return one or more values through parameters or may not return at all.
Q139. 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.
Q140. 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 fetched.
These attributes are proceed with SQL for Implicit Cursors and with Cursor name for Explicit Cursors.
Q141. What are % TYPE and % ROWTYPE? What are the advantages of using these over data types?
% 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 variables data type
ii. If the database definition of a column in a table changes, the data type of a variable changes accordingly.
Q142. What is difference between % ROWTYPE and TYPE RECORD?
% ROWTYPE is to be used whenever query returns a entire row of a table or view.
TYPE rec RECORD is to be used whenever query returns columns of different table or views and variables.
E.g. TYPE r_emp is RECORD (eno emp.empno% type,ename emp ename %type );
e_rec emp% ROWTYPE
cursor c1 is select empno,deptno from emp;
e_rec c1 %ROWTYPE.
Q143. What are the different types of PL/SQL program units that can be defined and stored in ORACLE database?
Procedures and Functions, Packages and Database Triggers.
Q144. What are the advantages of having a Package?
Increased functionality (for example, global package variables can be declared and used by any procedure in the package) and performance (for example all objects of the package are parsed compiled, and loaded into memory once)
Q145. What is a Procedure?
A Procedure consist of a set of SQL and PL/SQL statements that are grouped together as a unit to solve a specific problem or perform a set of related tasks.
Q146. What is difference between Procedures and Functions?
A Function returns a value to the caller where as a Procedure does not.
Q147. What is Database Trigger?
A Database Trigger is procedure (set of SQL and PL/SQL statements) that is automatically executed as a result of an insert in, update to, or delete from a table.
Q148. Can the default values be assigned to actual parameters?
Q149. Can a primary key contain more than one columns?
Q150. What is an UTL_FILE? What are different procedures and functions associated with it?
UTL_FILE is a package that adds the ability to read and write to operating system files.
Procedures associated with it are FCLOSE, FCLOSE_ALL and 5 procedures to output data to a file PUT, PUT_LINE, NEW_LINE, PUTF, FFLUSH.PUT, FFLUSH.PUT_LINE, FFLUSH.NEW_LINE.
Functions associated with it are FOPEN, ISOPEN.
Q151. What are ORACLE PRECOMPILERS?
Using ORACLE PRECOMPILERS, SQL statements and PL/SQL blocks can be contained inside 3GL programs written in C,C++,COBOL,PASCAL, FORTRAN,PL/1 AND ADA. The Pre compilers are known as Pro*C,Pro*Cobol,... This form of PL/SQL is known as embedded pl/sql,the language in which pl/sql is embedded is known as the host language. The pre compiler translates the embedded SQL and pl/sql statements into calls to the pre compiler runtime library. The output must be compiled and linked with this library to creator an executable.
Q152. Differentiate between TRUNCATE and DELETE?
TRUNCATE deletes much faster than DELETE
It is a DDL statement
It is a DML statement
It is a one way trip, cannot ROLLBACK
One can Rollback
Does not have selective features (where clause)
Does not fire database triggers
It requires disabling of referential constraints.
Q153. What is difference between a formal and an actual parameter?
The variables declared in the procedure and which are passed, as arguments are called actual, the parameters in the procedure declaration. Actual parameters contain the values that are passed to a procedure and receive results. Formal parameters are the placeholders for the values of actual parameters
Q154. What should be the return type for a cursor variable.Can we use a scalar data type as return type?
The return type for a cursor must be a record type. It can be declared explicitly as a user-defined or %ROWTYPE can be used. Eg TYPE t_studentsref IS REF CURSOR RETURN students%ROWTYPE
Q155. What is difference between SUBSTR and INSTR?
SUBSTR returns a specified portion of a string eg SUBSTR(BCDEF,4) output BCDE INSTR provides character position in which a pattern is found in a string. eg INSTR(ABC-DC-F,-,2) output 7 (2nd occurence of -)
Q156. What are various joins used while writing SUBQUERIES?
Self join-Its a join foreign key of a table references the same table. Outer Join--Its a join condition used where One can query all the rows of one of the tables in the join condition even though they do not satisfy the join condition.
Equi-join It is a join condition that retrieves rows from one or more tables in which one or more columns in one table are equal to one or more columns in the second table
Q157. What a SELECT FOR UPDATE cursor represent?
The processing done in a fetch loop modifies the rows that have been retrieved by the cursor. A convenient way of modifying the rows is done by a method with two parts: the FOR UPDATE clause in the cursor declaration, WHERE CURRENT OF CLAUSE in an UPDATE or declaration statement.
Q158. Display the records between two range.
select rownum, empno, ename from emp where rowid in (select rowid from emp where rownum <=&upto minus select rowid from emp where rownum<&Start);
Q159. Using minvalue.sql, Select the Nth lowest value from a table?
select level, min(col_name) from my_table where level = &n connect by prior (col_name) < col_name)
group by level;
Given a table called emp with the following columns:
-- id number
-- name varchar2(20)
-- sal number
-- For the second lowest salary:
-- select level, min(sal) from emp
-- where level=2
-- connect by prior sal < sal
-- group by level
Q160. Difference between an implicit & an explicit cursor.
only one row. However, queries that return more than one row you must declare an explicit cursor or use a cursor FOR loop. Explicit cursor is a cursor in which the cursor name is explicitly assigned to a SELECT statement via the CURSOR...IS statement. An implicit cursor is used for all SQL statements Declare, Open, Fetch, Close. An explicit cursors are used to process multi row SELECT statements An implicit cursor is used to process INSERT, UPDATE, DELETE and single row SELECT. INTO statements.
Q161. What is an OUTER JOIN?
Outer Join--Its a join condition used where you can query all the rows of one of the tables in the join condition even though they do not satisfy the join condition.
Q162. What is a cursor?
Oracle uses work area to execute SQL statements and store processing information PL/SQL construct called a cursor lets you name a work area and access its stored information A cursor is a mechanism used to fetch more than one row in a Pl/SQl block.
Q163. What is the purpose of a cluster?
Oracle does not allow a user to specifically locate tables, since that is a part of the function of the RDBMS. However, for the purpose of increasing performance, oracle allows a developer to create a CLUSTER. A CLUSTER provides a means for storing data from different tables together for faster retrieval than if the table placement were left to the RDBMS.
Q164. What is OCI? What are its uses?
Oracle Call Interface is a method of accessing database from a 3GL program. Uses--No pre compiler is required, PL/SQL blocks are executed like other DML statements.
The OCI library provides
--functions to parse SQL statements
--bind input variables
--bind output variables
--fetch the results
Q165. How you open and close a cursor variable. Why it is required?
OPEN cursor variable FOR SELECT...Statement
CLOSE cursor variable In order to associate a cursor variable with a particular SELECT statement OPEN syntax is used. In order to free the resources used for the query CLOSE statement is used.
Q166. Display Odd/ Even number of records?
Odd number of records:
select * from emp where (rowid,1) in (select rowid, mod(rownum,2) from emp);
Even number of records:
select * from emp where (rowid,0) in (select rowid, mod(rownum,2) from emp)
Q167. Can cursor variables be stored in PL/SQL tables. If yes how? If not, why?
No, a cursor variable points a row which cannot be stored in a two-dimensional PL/SQL table.
Q168. What WHERE CURRENT OF clause does in a cursor?
SELECT num_credits INTO v_numcredits FROM classes
WHERE dept=123 and course=101;
WHERE CURRENT OF X;
Q169. Can you use a commit statement within a database trigger?
Q170. What is a Navigable item?
A navigable item is one that operators can navigate to with the keyboard during default navigation, or that Oracle forms can navigate to by executing a navigational built-in procedure.
Q171. How image_items can be populate to field in forms 4.0?
A fetch from a long raw database column PL/Sql assignment to executing the read_image_file built_in procedure to get an image from the file system.
Q172. What is a record Group?
A record group is an internal oracle forms data structure that has a similar column/row frame work to a database table.
Q173. What is a library in Forms 4.0?
A library is a collection of Pl/SQL program units, including user named procedures, functions & packages.
Q174. Display the number value in Words?
SQL> select sal, (to_char(to_date(sal,j), jsp))from emp;the output like,SAL (TO_CHAR(TO_DATE(SAL,J),JSP))--------- ----------------------------------------800 eight hundred1600 one thousand six hundred1250 one thousand two hundred fiftyIf you want to add some text like, Rs. Three Thousand only.SQL> select sal Salary ,( Rs. || (to_char(to_date(sal,j), Jsp))|| only.))Sal in Words from emp
Salary Sal in Words
800 Rs. Eight Hundred only.
1600 Rs. One Thousand Six Hundred only.
1250 Rs. One Thousand Two Hundred Fifty only.