一、创建存储过程语句不同
mysql
DROP PROCEDURE IF EXISTS `SD_USER_P_ADD_USR`;
create procedure P_ADD_FAC(id_fac_cd varchar(100))
oracle
create or replace procedure P_ADD_FAC(id_fac_cd IN ES_FAC_UNIT.FAC_CD%TYPE) is
注意:
1.在创建存储过程时如果存在同名的存储过程,会删除老的存储过程.
oracle使用create or replace.
mysql使用先删除老的存储过程,然后再创建新的存储过程.
2. oracle 存储过程可以定义在package中,也可以定义在Procedures中.
如果定义在包中,一个包中可以包含多个存储过程和方法.
如果定义在Procedures中,存储过程中不可以定义多个存储过程.
mysql 存储过程中不可以定义多个存储过程.
3. oracle中字符串类型可以使用varchar2.
mysql 需要使用varchar
4. oracle中参数varchar长度不是必须的,
mysql中参数varchar长度是必须的, 比如varchar(100)
二、创建函数语句不同
mysql
DROP FUNCTION IF EXISTS `SD_ROLE_F_ROLE_FACS_GRP`;CREATEFUNCTION `SD_ROLE_F_ROLE_FACS_GRP`(ii_role_int_key INTEGER(10)) RETURNSvarchar(1000)oracle
CREATE OR REPLACEFUNCTION F_ROLE_FAC