What is the Difference between Procedure and Function.Can we
call a Function in a DML?

Answer Posted / ankush

Function always return a value. procedure may or may be not.
IN a select statement function may be called but we should
execute the procedure.

We can call a stored function from dml statement.

Here is simple example


CREATE OR REPLACE FUNCTION TEST_1 RETURN NUMBER IS

BEGIN

RETURN(10);

END;


SELECT TEST_1 FROM DUAL;


update emp

set sal = sal+ sal*test_1();


To be called from an sql statement a function should follow
the following purity rules.
1) When called from a SELECT statement , the function
should not modify database objects.
2) When called from INSERT , UPDATE, DELETE statements ,
the function can not query or modify the tables that was
modified by the statement.
3)When called from SELECT , DELETE, UPDATE, INSERT
Statements , a function should not contain TCL, DDL
commands.

Is This Answer Correct ?    3 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

what is the difference between truncate and drop statements? : Sql dba

546


What are the 3 types of behavioral triggers?

653


What are the different types of sql commands?

591


What does seeding a database mean?

521


How do you modify a trigger?

520






What is data type in database?

537


What are synonyms in sql?

528


What are the different types of a subquery?

510


Can we use the cursor's to create the collection in PL/SQL?

511


What is difference between sql and excel?

508


What is the reports view in oracle sql developer?

535


what is the difference between char_length and length? : Sql dba

567


How does pl sql work?

515


What is right join sql?

530


Are stored procedures compiled?

520