Re: IS and AS
From: O_TEXT <O_TEXT_at_nospam.fr>
Date: Tue, 13 Jan 2009 09:53:10 +0100
Message-ID: <gkhkpo$1k4j$1_at_biggoron.nerim.net>
>>>> I was wondering what is the difference between IS and AS, in general
>>>> PL/SQL code.
>>>>
>>>>
>>>> For instance of FUNCTION book_t, how can oracle know if keyword ending
>>>> the header is IS or AS;
>>>> I mean if header returns SELF and declare result variable before BEGIN,
>>>> or if header returns SELF AS RESULT and declare nothing before BEGIN.
>>>>
>>>>
>>>> CREATE OR REPLACE TYPE BODY book_t
>>>> AS
>>>> CONSTRUCTOR FUNCTION book_t (id IN INTEGER,
>>>> title IN VARCHAR2,
>>>> isbn IN VARCHAR2,
>>>> pages IN INTEGER)
>>>> RETURN SELF AS RESULT
>>>> IS
>>>> BEGIN
>>>> SELF.id := id;
>>>> SELF.title := title;
>>>> SELF.isbn := isbn;
>>>> SELF.pages := pages;
>>>> IF isbn IS NULL OR SELF.ck_digit_okay
>>>> THEN
>>>> RETURN;
>>>> ELSE
>>>> RAISE_APPLICATION_ERROR(-20000, 'ISBN ' || isbn
>>>> || ' has bad check digit');
>>>> END IF;
>>>> END;
>>>> ...
Date: Tue, 13 Jan 2009 09:53:10 +0100
Message-ID: <gkhkpo$1k4j$1_at_biggoron.nerim.net>
Shakespeare a écrit :
> O_TEXT schreef: >> Shakespeare a écrit : >>> O_TEXT schreef:
>>>> I was wondering what is the difference between IS and AS, in general
>>>> PL/SQL code.
>>>>
>>>>
>>>> For instance of FUNCTION book_t, how can oracle know if keyword ending
>>>> the header is IS or AS;
>>>> I mean if header returns SELF and declare result variable before BEGIN,
>>>> or if header returns SELF AS RESULT and declare nothing before BEGIN.
>>>>
>>>>
>>>> CREATE OR REPLACE TYPE BODY book_t
>>>> AS
>>>> CONSTRUCTOR FUNCTION book_t (id IN INTEGER,
>>>> title IN VARCHAR2,
>>>> isbn IN VARCHAR2,
>>>> pages IN INTEGER)
>>>> RETURN SELF AS RESULT
>>>> IS
>>>> BEGIN
>>>> SELF.id := id;
>>>> SELF.title := title;
>>>> SELF.isbn := isbn;
>>>> SELF.pages := pages;
>>>> IF isbn IS NULL OR SELF.ck_digit_okay
>>>> THEN
>>>> RETURN;
>>>> ELSE
>>>> RAISE_APPLICATION_ERROR(-20000, 'ISBN ' || isbn
>>>> || ' has bad check digit');
>>>> END IF;
>>>> END;
>>>> ...
>>> It's all a matter of parsing.... >>> >>> Shakespeare >>> >>> BTW: in many cases, AS and IS are interchangeable. >> >> Is it possible to know on which rule PLSQL is based for parsing? >> >> >> > You could check out the syntax diagrams in the docs. > > Shakespeare
such as
http://download.oracle.com/docs/cd/A91202_01/901_doc/appdev.901/a89856/13_elems.htm Received on Tue Jan 13 2009 - 09:53:10 CET