ToB企服应用市场:ToB评测及商务社交产业平台

标题: 接口开辟:Orcal数据库的批量新增sql [打印本页]

作者: 数据人与超自然意识    时间: 2024-7-24 09:43
标题: 接口开辟:Orcal数据库的批量新增sql
场景:在日常的CURD中一定会用到批量新增。在我们的项目中,利用的数据库是Orcal,由于之前基本都是利用Mysql的,利用的sql语句也基本都是用mysql的。但是在这次的接口编写时用mysql的批量新增出了题目,刚开始我还以为是写的动态sql有题目,在后续的题目修改也主要是对动态sql修改,因此也浪费了大量的时间,在后续把sql搬到数据库运行一下后才发现是sql的题目,同时也相识到了mysql和orcal 也是有许多地方是不同的。
MySQL和Oracle在批量新增数据时存在一些不同点,主要体现在语法、性能、事务处理等方面。以下是一些关键区别:
1. 语法
MySQL
在MySQL中,可以利用INSERT INTO ... VALUES语句一次插入多行数据。示例如下:
  1. INSERT INTO table_name (column1, column2, column3)
  2. VALUES
  3.     (value1, value2, value3),
  4.     (value4, value5, value6),
  5.     (value7, value8, value9);
复制代码
Oracle
在Oracle中,批量插入通常利用INSERT ALL语句或利用多行的INSERT INTO ... SELECT语句。示例如下:
  1. INSERT ALL
  2.     INTO table_name (column1, column2, column3) VALUES (value1, value2, value3)
  3.     INTO table_name (column1, column2, column3) VALUES (value4, value5, value6)
  4.     INTO table_name (column1, column2, column3) VALUES (value7, value8, value9)
  5. SELECT * FROM dual;
复制代码
或者利用INSERT INTO ... SELECT语句:
  1. INSERT INTO table_name (column1, column2, column3)
  2. SELECT value1, value2, value3 FROM dual
  3. UNION ALL
  4. SELECT value4, value5, value6 FROM dual
  5. UNION ALL
  6. SELECT value7, value8, value9 FROM dual;
复制代码
2. 性能


3. 事务处理


4. 特定功能


最后附上其时编写的sql代码和动态sql:
  1. INSERT ALL
  2. INTO PROD CONFIG GROUP(SERIAL NO,CONFIG GROUP ID,PRODUCT ID)
  3. VALUES (12312',NULL,NULL)
  4. INTO PROD CONFIG GROUP(SERIAL NO,CONFIG GROUP ID,PRODUCT ID)
  5. VALUES ('1234',NULL,NULL)
  6. SELECT I FROM DUAL ;
复制代码

动态sql:



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4