数据存储过程之MySQL与ORACLE数据库的差别
- 创建存储过程语句不同
oracle:create or replace procedure P_ADD_FAC(id_fac_cd IN ES_FAC_UNIT.FAC_CD%TYPE) is
mysql: DROP PROCEDURE IF EXISTS `SD_USER_P_ADD_USR`;
create procedure P_ADD_FAC(id_fac_cd varchar(100))
create procedure P_ADD_FAC(id_fac_cd varchar(100))
解释:1.在创建存储过程时如果存在同名的存储过程,会删除老的存储过程. oracle使用create or replace.mysql使用先删除老的存储过程,然后再创建新的存储过程。
2. oracle 存储过程可以定义在package中,也可以定义在Procedures中. 如果定义在包中,一个包中可以包含多个存储过程和方法.如果定义在Procedures中,存储过程中不可以定义多个存储过程。Mysql 存储过程中不可以定义多个存储过程.。
3. oracle中字符串类型可以使用varchar2。Mysql 需要使用varchar
4. Oracle中参数varchar长度不是必须的,Mysql中参数varchar长度是必须的, 比如varchar(100) 。
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`;
CREATE FUNCTION `SD_ROLE_F_
CREATE FUNCTION `SD_ROLE_F_