What is the difference between "AS" and "IS" in an Oracle stored procedure?

Viewed 71167

I see Oracle procedures sometimes written with "AS", and sometimes with "IS" keyword.

CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **AS**
...

vs.

CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **IS**
...

Is there any difference between the two?


Edit: Apparently, there is no functional difference between the two, but some people follow a convention to use "AS" when the SP is part of a package and "IS" when it is not. Or the other way 'round. Meh.

6 Answers

None whatsover. They are synonyms supplied to make your code more readable:

FUNCTION f IS ...

CREATE VIEW v AS SELECT ...

One minor difference...

They are synonyms for packages and procedures, but not for cursors:

This works...

cursor test_cursor
is
select * from emp;

... but this doesn't:

cursor test_cursor
as
select * from emp;

The AS keyword is used instead of the IS keyword for creating a standalone function.

[ A standalone stored function is a function (a subprogram that returns a single value) that is stored in the database. Note: A standalone stored function that you create with the CREATE FUNCTION statement is different from a function that you declare and define in a PL/SQL block or package. ]

For more explanation, read this...

Related