Widzę procedury Oracle czasami napisane ze słowem kluczowym „AS”, a czasami ze słowem kluczowym „IS”.
CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **AS**
...
vs.
CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **IS**
...
Czy jest jakaś różnica między tymi dwoma?
Edycja: Wygląda na to, że nie ma między nimi różnicy funkcjonalnej, ale niektórzy ludzie przestrzegają konwencji używania „AS”, gdy SP jest częścią pakietu i „IS”, gdy nie jest. Albo na odwrót. Meh.
oracle
stored-procedures
keyword
Ishmaeel
źródło
źródło
Odpowiedzi:
Żadnych, co więcej. Są to synonimy dostarczone, aby uczynić twój kod bardziej czytelnym:
FUNKCJA F IS ...
UTWÓRZ WIDOK V JAKO WYBIERZ ...
źródło
Jedna drobna różnica ...
Są synonimami pakietów i procedur, ale nie kursorów:
To działa...
cursor test_cursor is select * from emp;
... ale to nie:
cursor test_cursor as select * from emp;
źródło
„IS” i „AS” działają jako synonimy podczas tworzenia procedur i pakietów, ale nie dla kursora, tabeli lub widoku.
źródło
Oto kolejna różnica (w każdym razie w 10 g)
Biorąc pod uwagę luźny typ obiektu:
CREATE TYPE someRecordType AS OBJECT ( SomeCol VARCHAR2(12 BYTE) );
loose
Typ tabeli tego typu obiektu można utworzyć za pomocąAS
lubIS
CREATE OR REPLACE TYPE someTableType IS {or AS} TABLE OF someRecordType;
Jeśli jednak utworzysz ten sam typ tabeli w pakiecie, musisz użyć
IS
:CREATE OR REPLACE PACKAGE SomePackage IS TYPE packageTableType IS TABLE OF someRecordType; END SomePackage;
Użycie
AS
w pakiecie powoduje następujący błąd:źródło
Według TutorialsPoint
i biorąc pod uwagę poprzednie odpowiedzi,
zgaduję
AS
jest dla jednostek samodzielnych (poza jakimkolwiek blokiem, podprogramem, pakietem)i
IS
dotyczy jednostek osadzonych (w bloku, podprogramie lub pakiecie)..
źródło
AS parametr jest używany zamiast IS słów kluczowych dla tworzenia funkcji autonomicznego .
[ Samodzielna funkcja przechowywana to funkcja ( podprogram, który zwraca pojedynczą wartość ), która jest przechowywana w bazie danych. Uwaga: Samodzielna funkcja przechowywana, którą tworzysz za pomocą instrukcji CREATE FUNCTION różni się od funkcji, którą deklarujesz i definiujesz w bloku lub pakiecie PL / SQL. ]
Aby uzyskać więcej informacji, przeczytaj to ...
źródło