2 a xiaokou a_xiaokou 于 2016.01.15 16:42 提问

oracle自定义函数如何转成mysql函数

这是oracle自定义的函数,怎么把他转成mysql的
create or replace function fun_return_zjxl(in_taskId varchar2,
in_work_no varchar2)
return varchar2 is
v_sum number(10);--质检平均完成量
v_num NUMBER(10);--质检个人完成量
v_qualitied_cnt NUMBER(10);
v_result varchar2(20);--0异常,1高于平均值,2低于平均值
begin
v_result:=0;
select (SELECT count(*) FROM ZJ_SCORE ZS WHERE ZS.TASK_ID=in_taskId and zs.status=3)/(select count(zut.user_id) from zj_user_task zut where zut.task_id=in_taskId) into v_sum from dual ;
SELECT count(zs.id) into v_num FROM ZJ_SCORE ZS WHERE ZS.TASK_ID=in_taskId and zs.status=3 and zs.work_no=in_work_no;
if(v_num>=v_sum) then
v_result:=1;
else
v_result:=2;
end if;
return(v_result);
end fun_return_zjxl;

2个回答

CSDNXIAOD
CSDNXIAOD   2016.01.15 16:44

mysql自定义函数
mysql 自定义函数
MySQL 自定义函数
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

beau_lily
beau_lily   2016.01.15 22:04

oracle与sql基础语法其实差不多
无非就是一些基础语法问题 比如赋值的时候 oracle需要:= 而sql只要直接=号就可以了

create function fun_return_zjxl(in_taskId varchar2,
in_work_no varchar2)
return varchar2 is
v_sum number(10);--质检平均完成量
v_num int--质检个人完成量
v_qualitied_cnt int
v_result varchar(20);--0异常,1高于平均值,2低于平均值
begin
set v_result=0;
select (SELECT count(*) FROM ZJ_SCORE ZS WHERE ZS.TASK_ID=in_taskId and zs.status=3)/(select count(zut.user_id)
from zj_user_task zut where zut.task_id=in_taskId) into v_sum from dual ;
SELECT count(zs.id) into v_num FROM ZJ_SCORE ZS WHERE ZS.TASK_ID=in_taskId and zs.status=3 and zs.work_no=in_work_no;
if(v_num>=v_sum)
v_result:=1;
else
v_result:=2;
return(v_result);
end


你试下这个

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
mysql函数的创建以及hibernate调用mysql自定义函数以及数据对比功能,模仿中关村在线
系统业务有这样一个需求,每次版本进行变更时间,则需要创建新的记录,而不是在原来的基础上更替旧版本。 基于这样一个小小的需求,所有在数据库的设计时间,进行了表的自连接,当然这个只是假象的自连接,没有进行表自身的外键的映射;当有了很多的数据之后,需要加这个外键已经提示无法进行,只有把数据进行清空方可进行添加,但是表又是和很多的表做了外键的映射,总起来说就是一句话,表自身无法创建外键。 由此想到了只
oracle 转mysql之函数替换
oracle: CREATE OR REPLACE FUNCTION GET_HTBH    RETURN VARCHAR2 IS    RESULT   VARCHAR2 (14); BEGIN    SELECT    TO_CHAR (SYSDATE, 'yyyy')           || TO_CHAR (SYSDATE, 'mm')           || TO_C
JPA如何调用存储函数
因系统需求,需要调用oracle数据库中的存储函数,在网上找了许多篇文章都没有满足我的条件, 返回值和OUT值同时能获取到,JPA的API中貌似没有,反正我是没找到,后来同事找的一个网页 上找到了解决方法,就是通过JPA来调用JDBC的API来实现这个功能,下面就是代码: Session session = entityManager.unwrap( Session.
JavaEE框架Mybatis中调用mysql的函数
1.在mysql中增加如下函数:CREATE FUNCTION simpleFun() RETURNS varchar(20) RETURN "Hello World!";增加后效果如图 2.在mybits中Mapper文件增加如下语句: select simpleFun() 注意:mysql函数是针对整个数据库,mybits中默认的属性会指定一个默认的数据库名称,如没有指定
Mysql 自定义函数简单例子
格式化NOW函数:mysql> SELECT NOW(); +---------------------+ | NOW() | +---------------------+ | 2017-07-07 16:08:44 | +---------------------+ 1 row in setmysql> SELECT DATA_FORMAT(NOW,'%y年%m月%d
navicat创建MySQL函数
右键函数,选择新建函数 第一个界面是参数设置界面,可以设置多个参数,也可以不写参数,设置完之后点击下一步; 第二个界面是返回值设置界面,可以设置也可以不设置; 点击完成 如何使用: SELECT qqq( (SELECT id FROM tb_info WHERE id=1), (SELECT id FROM tb_info WHERE id=2) ); 这样就可以了
MySQL与Oracle 差异函数比较
自己接触oracle一个月以来,整理出来的oracle和mysql的区别,分享给各位网友
Mysql函数(内置函数,自定义函数)
简述SQL:结构化查询语言,是一门编程语言,是用于管理数据库的编程语言。元素:数据,数据类型,变量,函数,流程控制,运算符,注释。注释:行: # –[空格]块: /* */select * from swpu_stu #where id=2; ;select * from swpu_stu -- where id=2; ;结束符:select * from swpu_stu where id=
mysql 自定义函数的常见语法
利用存储过程计算一个复杂的数据时,难免会用到自定义函数(Function);一:实例:CREATE  FUNCTION `one_day_N`(lastAcctDate DATETIME, freqCounter DECIMAL, startDate DATETIME) RETURNS INT(11)    COMMENT '计算一天N次的计费次数'BEGIN   DECLARE return_v...
MySQL自定义函数与存储过程
一、       Mysql 自定义函数 自定义函数 (user-defined function UDF)是一种对mysql扩展的途径,其用法和内置函数相同。 自定义函数的两个必要条件:1、参数(不是必有的,例如select version())2返回值 (必有的)。函数可以返回任意类型的值,同样可以接收这些类型的参数,参数与返回值没有必然的内在联系   创建自定义函数语法: