MariaDB 设置 sql_mode=Oracle 和 Oracle 对比验证

功能 Oracle语法 MariaDB语法 Oracle执行结果 MariaDB执行结果
创建存储过程 未使用参数和变量 CREATE PROCEDURE p1 AS BEGIN NULL; END p1; / DELIMITER // CREATE PROCEDURE p1() IS BEGIN NULL; END // DELIMITER ;
创建存储过程 带有参数和变量 CREATE PROCEDURE p1(p_input IN NUMBER, p_output OUT NUMBER) AS v_variable VARCHAR2(100); BEGIN v_variable := 'Hello, World!'; p_output := p_input * 2; END; / DELIMITER // CREATE PROCEDURE p1(INOUT p_input INT) BEGIN DECLARE v_variable VARCHAR(100); SET v_variable = 'Hello, World!'; SET p_input = p_input * 2; END // DELIMITER ;
创建存储函数 CREATE FUNCTION f1(a VARCHAR2) RETURN VARCHAR2 IS v_result VARCHAR2(100); BEGIN `v_result := a ' appended text'; RETURN v_result; END; /` DELIMITER // CREATE FUNCTION f1(a VARCHAR(100)) RETURN VARCHAR(100) IS v_result VARCHAR(100); BEGIN SET v_result = CONCAT(a, ' appended text'); RETURN v_result; END // DELIMITER ;
游标 带有FOR 循环显式游标 CREATE TABLE t1 ( a NUMBER, b NUMBER ); INSERT INTO t1 (a, b) VALUES (1, 2); INSERT INTO t1 (a, b) VALUES (3, 4); INSERT INTO t1 (a, b) VALUES (5, 6); CREATE OR REPLACE PROCEDURE p1 AS a_val t1.a%TYPE; b_val t1.b%TYPE; CURSOR cur IS SELECT a, b FROM t1; BEGIN FOR rec IN cur LOOP a_val := rec.a; b_val := rec.b; `DBMS_OUTPUT.PUT_LINE('a: ' a_val
游标 带有 FOR 循环的隐式游标 CREATE OR REPLACE PROCEDURE p1 IS BEGIN FOR rec IN (SELECT a, b FROM t1) LOOP `DBMS_OUTPUT.PUT_LINE('A = ' rec.a
游标 带有参数和 FOR 循环的游标 CREATE OR REPLACE PROCEDURE process_cursor(prm_a IN INT, prm_b IN INT) IS CURSOR c IS SELECT a, b FROM t1 WHERE a = prm_a AND b = prm_b; BEGIN FOR rec IN c LOOP `DBMS_OUTPUT.PUT_LINE('A: ' rec.a
游标 s %ISOPEN, %ROWCOUNT, %FOUND, %NOTFOUND方式显式游标属性 SET SERVEROUTPUT ON; BEGIN DECLARE CURSOR c IS SELECT a, b FROM t1; v_a t1.a%TYPE; v_b t1.b%TYPE; BEGIN OPEN c; IF c%ISOPEN THEN DBMS_OUTPUT.PUT_LINE('Cursor is open.'); ELSE DBMS_OUTPUT.PUT_LINE('Cursor is not open.'); END IF; LOOP FETCH c INTO v_a, v_b; EXIT WHEN c%NOTFOUND; `DBMS_OUTPUT.PUT_LINE('A: ' v_a
相关推荐
枷锁—sha42 分钟前
【PortSwigger Academy】SQL 注入绕过登录 (Login Bypass)
数据库·sql·学习·安全·网络安全
逍遥德3 小时前
PostgreSQL 中唯一约束(UNIQUE CONSTRAINT) 和唯一索引(UNIQUE INDEX) 的核心区别
数据库·sql·postgresql·dba
工业甲酰苯胺3 小时前
字符串分割并展开成表格的SQL实现方法
数据库·sql
衫水3 小时前
[特殊字符] MySQL 常用指令大全
数据库·mysql·oracle
小句4 小时前
SQL中JOIN语法详解 GROUP BY语法详解
数据库·sql
昊昊该干饭了5 小时前
一个真实查询需求如何从表设计走到高效 SQL
数据库·sql
Elastic 中国社区官方博客6 小时前
使用瑞士风格哈希表实现更快的 ES|QL 统计
大数据·数据结构·sql·elasticsearch·搜索引擎·全文检索·散列表
pengweizhong7 小时前
Dynamic‑SQL2 查询篇:MyBatis 增强利器,让 SQL 像写 Java 一样丝滑
java·sql·教程
逍遥德10 小时前
Postgresql 系统表作用解释
数据库·后端·sql·postgresql
SJLoveIT11 小时前
sql注入攻击的防御思路总结
数据库·sql