Explain the difference between a FUNCTION, PROCEDURE and
PACKAGE.

Answer Posted / aleena

PROCEDURE:

cannot return a value

SYNTAX:
CREATE PROCEDURE procedure_name [argument datatype]
AS
BEGIN
sql statements
END;
/

FUNCTION:

returns a value

SYNTAX:

CREATE FUNCTION function_name [argument[IN] datatype]
RETURN datatype
AS
BEGIN
sql statements
END;
/


PACKAGES

Pakages are groups of functions,procedures,sql blocks
goruped together in a single unit.

there are two parts to creating a PACKAGE --1>CREATE
PACKAGE & 2> CREATE PACKAGE BODY

SYNTAX :
CREATE PACKAGE :

CREATE PACKAGE package_name
AS

FUNCTION function_name(datatype);
PROCEDURE procedure_name (datatype);
.......
.......(sql/plsql statements )
........
END;

CREATE PACKAGE BODY :

CREATE PACKAGE BODY packagebody_name
AS
FUNCTION function_name (datatype)
RETURN datatype
AS
.....
.....
.....
END function_name;
PROCEDURE procedure_name (datatype)
AS
......
.....
.....
END procedure_name
END PACKAGE;



Is This Answer Correct ?    46 Yes 5 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

key flexfield structure

1883


What view would you use to determine free space in a tablespace?

2027


how can we add a field to the oracle standard forms through Form Persanlization or custom.pll

2166


CREATE OR REPLACE procedure XXPROC_OPENINT(errbuf OUT VARCHAR2, retcode OUT VARCHAR2) AS --Cursor Declaration cursor inv_cur IS SELECT INVI.INVOICE_ID ,INVI.INVOICE_TYPE_LOOKUP_CODE ,INVI.INVOICE_DATE ,INVI.VENDOR_ID ,INVI.VENDOR_SITE_ID ,INVI.INVOICE_AMOUNT ,INVI.INVOICE_CURRENCY_CODE ,INVI.STATUS ,INVI.GROUP_ID ,INVI.SOURCE ,INVI.ORG_ID ,INVI.DESCRIPTION ,INVI.CREATION_DATE ,INVI.CREATED_BY ,INVL.INVOICE_ID ,INVL.LINE_NUMBER ,INVL.LINE_TYPE_LOOKUP_CODE ,INVL.DESCRIPTION ,INVL.ORG_ID ,INVL.INVENTORY_ITEM_ID ,INVL.ACCOUNTING_DATE ,INVL.AMOUNT ,INVL.CREATION_DATE ,INVL.CREATED_BY ,INVL.PO_HEADER_ID ,INVL.PO_LINE_LOCATION_ID ,INVL.ITEM_DESCRIPTION FROM XXAP_INVOICES_INTERFACE_STG INVI ,AP_INVOICE_LINES_INTERFACE_STG INVL WHERE INVI.INVOICE_ID=INVL.INVOICE_ID AND INVI.ORG_ID=INVL.ORG_ID; l_currency_code varchar2(25); l_flag varchar2(2); l_error_msg varchar2(100); l_err_msg varchar2(100); l_err_flag varchar2(10); l_count number(9) default 0; BEGIN for rec_cur in inv_cur loop l_count:=l_count+1; --Currency Code Validation BEGIN SELECT currency_code INTO l_currency_code FROM FND_CURRENCIES WHERE currency_code ='USD'; EXCEPTION WHEN others THEN l_flag:='E'; l_error_msg:='Currency Code Does not Exists'; fnd_file.put_line(fnd_file.log,'Inserting Data Into The Interface Table'||'-'||l_count||' '||l_error_msg); END; IF l_flag!='E' THEN fnd_file.put_line(fnd_file.log,'Inserting Data Into The Interface Table'); INSERT INTO AP_INVOICES_INTERFACE( INVOICE_ID ,INVOICE_TYPE_LOOKUP_CODE ,INVOICE_DATE ,VENDOR_ID ,VENDOR_SITE_ID ,INVOICE_AMOUNT ,INVOICE_CURRENCY_CODE ,STATUS ,GROUP_ID ,SOURCE ,ORG_ID ,DESCRIPTION ,CREATION_DATE ,CREATED_BY) VALUES (rec_cur.INVOICE_ID ,rec_cur.INVOICE_TYPE_LOOKUP_CODE ,rec_cur.INVOICE_DATE ,rec_cur.VENDOR_ID ,rec_cur.VENDOR_SITE_ID ,rec_cur.INVOICE_AMOUNT ,rec_cur.INVOICE_CURRENCY_CODE ,rec_cur.STATUS ,rec_cur.GROUP_ID ,rec_cur.SOURCE ,rec_cur.ORG_ID ,rec_cur.DESCRIPTION ,rec_cur.CREATION_DATE ,rec_cur.CREATED_BY); INSERT INTO ap_invoice_lines_interface ( INVOICE_ID ,LINE_NUMBER ,LINE_TYPE_LOOKUP_CODE ,DESCRIPTION ,ORG_ID ,INVENTORY_ITEM_ID ,ACCOUNTING_DATE ,AMOUNT ,CREATION_DATE ,CREATED_BY ,PO_HEADER_ID ,PO_LINE_LOCATION_ID,ITEM_DESCRIPTION) VALUES (rec_cur.INVOICE_ID ,rec_cur.LINE_NUMBER ,rec_cur.LINE_TYPE_LOOKUP_CODE ,rec_cur.DESCRIPTION ,rec_cur.ORG_ID ,rec_cur.INVENTORY_ITEM_ID ,rec_cur.ACCOUNTING_DATE ,rec_cur.AMOUNT ,rec_cur.CREATION_DATE ,rec_cur.CREATED_BY ,rec_cur.PO_HEADER_ID ,rec_cur.PO_LINE_LOCATION_ID ,rec_cur.ITEM_DESCRIPTION); END IF; l_flag:=NULL; l_err_MSG:=NULL; END LOOP; COMMIT; END XXPROC_OPENINT; / PLS-00402: alias required in SELECT list of cursor to avoid duplicate column names

2778


What is auto invoicing? Explain : oracle accounts receivable

826


what are the types of LIST REPORTS in cognos8BI? and what is the mean and use of METRIC STUDIO in Cognos 8.3BI?

1987


difference of using cursor for loop and open,fetch,close.which one is better

1508


What are different types of transactions in ar? : oracle accounts receivable

1013


What is the use of lockboxes? : oracle accounts receivable

973


Explain the use of table functions.

2105


types of receipts and detail desription about recipts and tables effected by receipts?

1864


where the dff data will be stored

2030


What is the difference between recovery and restoring of the oracle database?

897


What is the difference between oracle media recovery and crash recovery?

918


Which is the best institute in Hyderabad to learn OBIEE and DataStage?Please tell me faculty name also

2068