Ich sehe Oracle-Prozeduren, die manchmal mit "AS" und manchmal mit dem Schlüsselwort "IS" geschrieben wurden.
CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **AS**
...
vs.
CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **IS**
...
Gibt es einen Unterschied zwischen den beiden?
Bearbeiten: Anscheinend gibt es keinen funktionalen Unterschied zwischen den beiden, aber einige Leute folgen einer Konvention, um "AS" zu verwenden, wenn der SP Teil eines Pakets ist, und "IS", wenn dies nicht der Fall ist. Oder umgekehrt. Meh.
oracle
stored-procedures
keyword
Ishmaeel
quelle
quelle
Antworten:
Überhaupt keine. Dies sind Synonyme, die bereitgestellt werden, um Ihren Code besser lesbar zu machen:
FUNKTION f IST ...
CREATE VIEW v AS SELECT ...
quelle
Ein kleiner Unterschied ...
Sie sind Synonyme für Pakete und Prozeduren, jedoch nicht für Cursor:
Das funktioniert...
... aber das geht nicht:
quelle
"IS" und "AS" fungieren beim Erstellen von Prozeduren und Paketen als Synonym, jedoch nicht für einen Cursor, eine Tabelle oder eine Ansicht.
quelle
Hier ist ein weiterer Unterschied (jedenfalls in 10 g)
Bei einem losen Objekttyp:
Sie können einen
loose
Tabellentyp dieses Objekttyps mit entwederAS
oder erstellenIS
Wenn Sie jedoch denselben Tabellentyp in einem Paket erstellen, müssen Sie Folgendes verwenden
IS
:Die Verwendung von
AS
in der Packung führt zu folgendem Fehler:quelle
Laut TutorialsPoint
und unter Berücksichtigung früherer Antworten,
ich vermute
AS
ist für eigenständige Entitäten (außerhalb von Block-, Unterprogramm-, Paket-) Entitätenund
IS
ist für eingebettete (innerhalb eines Blocks, Unterprogramms oder Pakets) Entitäten..
quelle
Das AS- Schlüsselwort wird anstelle des IS- Schlüsselworts zum Erstellen einer eigenständigen Funktion verwendet .
[Eine eigenständige gespeicherte Funktion ist eine Funktion ( ein Unterprogramm, das einen einzelnen Wert zurückgibt ), die in der Datenbank gespeichert ist. Hinweis: Eine eigenständige gespeicherte Funktion, die Sie mit der Anweisung CREATE FUNCTION erstellen, unterscheidet sich von einer Funktion, die Sie in einem PL / SQL-Block oder -Paket deklarieren und definieren. ]]
Weitere Erklärungen finden Sie hier ...
quelle