Mysql | Oracle(DM) | 说明 |
row_count() | sql%rowcount | 统计改变行数(复制可用) |
SHA1(参数) | lower(dbms_crypto.hash(utl_raw.cast_to_raw(参数), dbms_crypto.HASH_SH1)) | SHA1加密 |
last_insert_id | ident_current('表名必须正确区分大小写') | 获得自增id已经使用的最大序号 |
赋值的时候:set msg_count =0 | msg_count:=0 | 赋值语句的话Oracle没有set 直接是参数名:=结果 |
declare在begin之后并且多个变量多个declare比如: declare _num1 bigint; declare _num2 bigint; | declare在begin之前 多个变量只能写在一个declare底下: declare _num1 bigint; _num2 bigint; | Declare的使用是有些许区别的 |
PREPARE stmt from '你的sql语句'; EXECUTE stmt (如果sql有参数的话, USING xxx,xxx); // 这里USING的只能是会话变量 DEALLOCATE PREPARE stmt; | execute immediate v_sql using in '1',in '2',out c; 说明:v_sql 执行的sqsl 1,2,参数 | 动态sql的差别 |
substring_index( _user_id, '@', 1 ) | SUBSTR (_user_id,0, instr(_user_id,'@',1,1)-1) | 切割字符串 |
`value`用`引起来 | “VALUE”双引号内冲突字符必须大写 | 解决关键字冲突 |
bigint unsigned | Number(21, 0) | |
SUBSTR(jid, LOCATE('@', _jid) + 1)) | SUBSTR(jid,LOCATE( '@', jid )+1) |
Mysql存储过程移植Dm(达梦数据库)/Oracle对照表
这篇博客探讨了MySQL和Oracle数据库中的一些关键操作,如统计改变行数的row_count()和sql%rowcount,以及SHA1加密的不同实现。还提到了获取自增ID的方法和变量赋值的语法差异。此外,解释了动态SQL的两种执行方式:PREPARE/EXECUTE和EXECUTE IMMEDIATE,并展示了字符串切割和关键字冲突解决的技巧。
摘要由CSDN通过智能技术生成