“与”的区别是什么;作为「;及;是";在Oracle存储过程中?
我看到Oracle过程有时用“AS”编写,有时用“IS”关键字编写“与”的区别是什么;作为「;及;是";在Oracle存储过程中?,oracle,stored-procedures,keyword,Oracle,Stored Procedures,Keyword,我看到Oracle过程有时用“AS”编写,有时用“IS”关键字编写 CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **AS** ... vs 这两者有什么区别吗 编辑:显然,两者之间没有功能上的区别,但有些人遵循一种惯例,即当SP是包的一部分时使用“AS”,当SP不是包的一部分时使用“is”。或者反过来。嗯。没什么。它们是同义词,用于提高代码的可读性: 函数f是 创建视图v作为选择…一个小差异 它
CREATE OR REPLACE Procedure TESTUSER.KILLINSTANCE (INSTANCEID integer) **AS**
...
vs
这两者有什么区别吗
编辑:显然,两者之间没有功能上的区别,但有些人遵循一种惯例,即当SP是包的一部分时使用“AS”,当SP不是包的一部分时使用“is”。或者反过来。嗯。没什么。它们是同义词,用于提高代码的可读性: 函数f是
创建视图v作为选择…一个小差异 它们是包和过程的同义词,但不是游标的同义词: 这很有效
cursor test_cursor
is
select * from emp;
。。。但这并不是:
cursor test_cursor
as
select * from emp;
这是另一个区别(无论如何,10g)
给定松散对象类型:
CREATE TYPE someRecordType AS OBJECT
(
SomeCol VARCHAR2(12 BYTE)
);
您可以使用AS
或IS
创建此对象类型的loose
表类型
CREATE OR REPLACE TYPE someTableType
IS {or AS} TABLE OF someRecordType;
但是,如果在包中创建相同的表类型,则必须使用IS
:
CREATE OR REPLACE PACKAGE SomePackage IS
TYPE packageTableType IS TABLE OF someRecordType;
END SomePackage;
在包中使用AS
会产生以下错误:
错误(2,30):PLS-00103:在预期以下情况之一时遇到符号“TABLE”:对象不透明
“IS”和“AS”在创建过程和包时充当同义词,但不用于游标、表或视图。根据
使用AS关键字而不是is关键字来创建
独立程序
考虑到之前的答案
我想
作为
用于独立实体(任何块、子程序、包之外)
及
是
用于嵌入(在块、子程序或包中)实体
使用AS关键字而不是is关键字来创建独立函数 [A独立存储函数是存储在数据库中的函数(返回单个值的子程序)。 注意:使用create function语句创建的独立存储函数与在PL/SQL块或包中声明和定义的函数不同。
为了进一步解释,第二个不总是简单地指向另一个实际实现该功能的过程吗?在我的测试中,这两个过程似乎都使用完全相同的主体。不知道如何指向另一个过程。迪利普·克里希那穆提的回答完成了这一点
CREATE OR REPLACE PACKAGE SomePackage IS
TYPE packageTableType IS TABLE OF someRecordType;
END SomePackage;