oracle 使用with insert插入数据的问题

[Oracle] INSERT INTO 实战技巧:从基础到高级应用 本文全面解析Oracle数据库中INSERT INTO语句的使用技巧,从基础语法到高级应用。涵盖单条插入、批量操作、性能优化、数据迁移等实战场景,特别针对唯一约束、LOB字段、自增主键等疑难问题提供解决方案,帮助开发者高效处理Oracle数据插入任务。 阅读详情

今天有个写存储过程的朋友问我一个with a  as  。。。。insert 的存储过程为什么总是报错:ORA-00928: 缺失 SELECT 关键字


最后发现with后面只能直接跟select 不能跟insert,修改后解决问题


修改前:

with
 a as(SELECT T.StationId,U.Id AS UserId 
FROM Sys_Station_Info T 
JOIN  Sys_Organize O ON T.StationId=O.OrgCode
JOIN  Sys_UsersRelation R ON O.Id=R.Orgid
JOIN Sys_Users U ON U.Id=R.UserId
WHERE T.Use_Flag=1)


      INSERT INTO USEROFTENIP(StationCode,UserId,Ipaddress,Times,CreateTime)
       SELECT ba.StationId,a.UserId,L.IpAddress,COUNT(L.IpAddress) AS Times,Sysdate from .
a JOIN Sys_Log L ON a.UserId=L.UserId 
  where L.WriteTime>= sysdate-30
  GROUP BY a.StationId,a.UserId,L.IpAddress;


修改后:


       INSERT INTO USEROFTENIP(StationCode,UserId,Ipaddress,Times,CreateTime)

with
 a as(SELECT T.StationId,U.Id AS UserId 
FROM Sys_Station_Info T 
JOIN  Sys_Organize O ON T.StationId=O.OrgCode
JOIN  Sys_UsersRelation R ON O.Id=R.Orgid
JOIN Sys_Users U ON U.Id=R.UserId
WHERE T.Use_Flag=1)

       SELECT ba.StationId,a.UserId,L.IpAddress,COUNT(L.IpAddress) AS Times,Sysdate from .
a JOIN Sys_Log L ON a.UserId=L.UserId 
  where L.WriteTime>= sysdate-30
  GROUP BY a.StationId,a.UserId,L.IpAddress

ArcGIS通过已知坐标点转面(通过excel文件,有工具可批量生成面要素) 通过使用ArcGIS中的工具,将坐标点XY数据转换成可视化的点线面矢量数据,更加方便快捷有效的获取对应信息 阅读详情

相关推荐

网络安全实战:从Wireshark到BurpSuite的抓包技巧解析

本文深入解析了Wireshark和BurpSuite在网络安全抓包中的实战技巧,从基础对比到高级过滤、核心模块应用及安全测试避坑指南。通过详细的操作步骤和案例分析,帮助读者掌握数据包抓取与分析的核心技能,提升网络安全防护能力。

weixin_29207533的博客 570

oracle with和insert结合使用

需求是这样的,先在一个从句中根据sub_code查询dis_code和reg_code, 再把这;两个值作为insert value的一部分,差到rate表里,好了,这里提供一种常规做法,和一种用with实现的做法 常规做法: insert into HW_RATE (ID, SUB_TYPE, DISTRICT_CODE, REGION_C...

weixin_30266829的博客 1529

【最全选型攻略-盘点篇】市面上有哪些靠谱的工业3D相机品牌?(双目、结构光、TOF、激光三角)

选工业3D相机,选最靠谱的品牌,选最Match你的产品,看这一篇就够了!

jiqishijueyingdi的博客 1万+

insert与with联合使用,动态插入表数据

根据示例讲解 INSERT INTO T_IM_Inventory with t1 as (select NEWBOSID( 'BA8AD747' ) from dual), t2 as (SELECT ORG.FID orgId,ORG.FID orgId2,W.FID warId,null locId,'181875d5-0105-1000-e000-0111c0a812fd97D461A6' FSTORETYPEID,'181875d5-0105-1000-e000-012ec0a812fd

weixin_39944879的博客 2900

自动化学报Ctex+texstudio配置方法

自动化学报Latex的模板win10使用方法(CTEX+texstudio)

zxy15924462502的博客 7368

【笔记6】SP3485自动收发电路设计分析

则TXD路为1,MOS管导通,2/3引脚为0,芯片实际上事与愿违的进入了接收模式。但是,由于我们采用单根双绞线与上位机通信,在数据发出去前数据线上没有任何信号传输,所以AB处于高阻态,进而受到R1下拉与R2上拉的影响,差分信号为1,所以输出1;此外,RXD内路也被上拉,485总线B端上拉,A端下拉。此时TXD由于没有数据传输,所以一直处于1的状态,因而MOS管导通,2/3引脚为0,芯片处于正常接收状态。总而言之就是,RE#与 DE只能有一个是1,1代表微控制器向外发送,0代表微控制器接收。

Haytham233的博客 3136

Oracle--WITH AS 用法

WITH AS的含义 With As短语,也叫子查询部分(subquery factoring),可以定义一个sql片段,该片段会被整个sql语句所用到,特别对于Union All比较有用。因为Union All的每个部分可能相同,但是如果每个部分都去执行一遍的话,成本太高,所以可以用With As语句,只需要执行一遍即可。 WITH AS的有点 1. 增加了sql的易读性,如果构造了多个子查询,结构会更清晰 2. 提高效率,一次构建,多次使用。如果with as 短语定义的表名被调用两次以上,...

dekong1010的专栏 8200

【目标检测】IoU(交并比)详解及代码实现

1. IOU概述        IoU的全称为交并比(Intersection over Union),是目标检测中使用的一个概念,IoU计算的是“预测的边框”和“真实的边框”的交叠率-,即它们的交集和并集的比值。最理想情况是完全重叠,即比值为1。 2. IoU计算        IoU等于“预测的边框”和“真实的边框”之间交集和并集的比值。IoU计算如下图,B1为真实

Roaddd的博客 2万+

oracle with 使用

oracle with 使用

yxl626571494的博客 637

量子化学仿真软件:VASP_(9).磁性材料计算

在量子化学仿真软件 VASP 中,磁性材料的计算是一个复杂但重要的过程。通过正确设置磁性状态、分析磁性性质、优化计算参数以及研究磁性相变和磁动力学,可以更准确地描述和预测磁性材料的性能。希望本节的内容能够为研究磁性材料的科研人员提供有用的参考和指导。

kkchenjj的博客 1374

Open Dynamics Engine(ODE)物理引擎教程(1)--下载与安装准备

引言 ODE是一个免费的工业级库,用于模拟关节式刚体动力学,例如地面车辆、腿部生物和虚拟现实环境中的移动对象。它具有快速、灵活、健壮和独立于平台的特点,具有先进的关节、摩擦接触和内置的碰撞检测功能。 项目主页:http://www.ode.org/ 线上手册:http://ode.org/wiki/index.php?title=Manual 本教程为博主亲自亲测过程的总结,转载请注明出处! ...

腿足机器人领域 2216

深入理解和使用Oracle中with as语句以及与增删改查的结合使用

WITH AS短语,也叫做子查询部分(subquery factoring),可以做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。 特别对于UNION ALL比较有用。因为UNION ALL的每个部分可能相同,但是如果每个部分都去执行一遍的话,则成本太高,所以可以使用WITH A...

fanhl的博客 2853

stable diffusioncontrolNet 预处理器/模型的下载及安装使用教程

首先说明,controlNet 的模型 不同于stable diffusion 模型,这一点一定要区分清楚。下面提供多个ControlNet 预处理器+ 专用模型的百度网盘下载链接,都是由群友整理贡献,但各自包含的版本不同,大家可自行选择。推荐下载紫色链接内的模型,fp16版文件更小,稍微新一些的controlnet插件还添加了对control-lora的支持(注意,要求controlnet插件的版本比12月16号新(1.1.423以上)才能正常识别),推荐下载;

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 3384

Oracle 中 insert 同时插入多条数据

Oracle 中 insert 同时插入多条数据1. 语句2. Mybatis 1. 语句 Oracle 与 Mysql 不同. 多条插入命令不一样. INSERT ALL INTO t_table ("col1", "col2", "col3") VALUES ('val1', 'val2', 'val3') INTO t_table ("col1", "col2", "col3") VALUES ('val1', 'val2', 'val3') INTO t_table ("col1", "col

YKenan的博客 8000

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Oracle 批量插入数据 insert all into 用法

项目需要用到导入excel表,并解析数据批量插入到oracle数据库中。 1)直接解析excel,循环行,拼了sql,executeUpdate。 执行一波… 咦,这效率很低啊,有多少行数据就执行了多少句sql,基本是一万行已经接近一分钟了。 2)每次都仅执行一条sql语句,时间是不是都花在建立连接放开连接balabala的过程上了,用executebatch批量执行sql语句试试。 没...

AlbenXie的博客 6238

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Oracle一次插入多条数据

Oracle一次插入多条数据 oracle不像mysql那样可以在values后面添加多个插入的值,mysql具体操作 mysql插入多条数据 -- mysql插入多行代码 insert into CB_PRACTICE(id_, type_,remark) values (5,'物理','浮力'),(6,'物理','阻力'); oracle插入多条数据的方法 1.采用union all拼接...

Yoke 2万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

oracle插入数据语句实例,oracle Insert 用法总结

总结下Oracle 中的Insert用法1.标准Insert --单表单行插入语法:INSERT INTO table [(column1,column2,...)] VALUE (value1,value2,...)例子:insert into dep (dep_id,dep_name) values(1,'技术部');备注:使用标准语法只能插入一条数据,且只能在一张表中插入数据2, 无条件 I...

weixin_34517026的博客 1万+

Oracle sql 批量插入 Insert all into

描述 Oracle INSERT ALL 语句用来用一个 INSERT 语句添加多行。该行可以只使用一个SQL命令插入到一个表或多个表。 语法 Oracle INSERT ALL 语法如下: INSERT ALL INTO mytable (column1, column2, column_n) VALUES (expr1, expr2, expr_n) INTO mytable (column1, column2, column_n) VALUES (expr1, expr2, expr

此人很懒,什么也没有留下~ 6349

Oracle 批量插入数据 insert all into/insert into...select

insert into ... select .... insert all into

Xiang想 2万+

oracle的insert写法,oracle中的insert语句

关键字: ORACLE insert into tableoracle中的insert语句在oracle中使用DML语言的insert语句来向表格中插入数据,先介绍每次只能插入一条数据的语法INSERTINTO表名(列名列表)VALUES(值列表);注意:当对表中所有的列进行赋值,那么列名列表可以省略,小括号也随之省略必须对表中的非空字段进行赋值具有默认值的字段可以不提供值,此时列名列表中的...

weixin_28916013的博客 5917

oracle一次插入多条数据(insert all)

问题: 公司的项目,有个功能每次使用需要向数据库插入很多数据,导致页面等待很长时间才有结果。 数据库:oracle11g id:采用sequence自增 每次循环,都会查询一次sequence,然后insert一条数据,性能非常低。 采用insert all的方式 由于insert all方式插入多条时,通过sequence获取的值是同一个,不会自动获取多个,所以id需要通过其他方式设置,(我这里采用触发器方式自动设置id) 1、创建测试表: create table test_insert(

冰蛙 9440

Oracle 插入数据

顾名思义,INSERT用于向数据库插入(添加行)。可以使用Oracle安全性基于每个表或每个用户禁用INSERT语句。

weixin_45102678的博客 1万+

【Oracle】Oracle insert 语句用法

Oracle insert语句详细用法

weixin_62650141的博客 2万+

oracle插入数据语句实例,Oracle插入数据

在本教程中将学习如何使用Oracle INSERT语句将数据插入到表中。Oracle INSERT语句简介要将新行插入到表中,请按如下方式使用Oracle INSERT语句:INSERT INTO table_name (column_1, column_2, column_3, ... column_n)VALUES( value_1, value_2, value_3, ..., value_...

weixin_32787485的博客 7234

oracle insert语句多行数据,用一条insert语句来插入多行数据详解

MySQL数据库:INSERT INTO STUDENT (SNAME, SSEX, SAGE, SDEPT) SELECT '武耀旭','男',24,'CS' UNION SELECT '张志鹏','男',24,'CS' UNION SELECT '朱文辉','男',24,'CS'INSERT DELAYED INTO `newsort` (`sort_id`, `sort_name`, `so...

weixin_39860732的博客 4463

ORACLE 批量插入(Insert)详解

Oracle批量插入语句与其他数据库不同,下面列出不同业务需求的插入 假设有一张表Student -- 学生表 create table Student( id Varchar2(11) primary key, name varchar2(32) not null, sex varchar2(3) not null, age smallint, tel varch...

灵活大胖子HDG 的博客 4964
上一篇: ORACLE 分割字段为多行数据
下一篇: Maven根据不同环境打包不同配置文件
bxp1321
博客等级 码龄17年 146粉丝 86原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值