-
Oracle聚合函数为组返回一个随机值?
所属栏目:[百科] 日期:2021-04-02 热度:180
标准SQL聚合函数max()将返回组中的最高值; min()将返回最低值. Oracle中是否有一个聚合函数来从组中返回一个随机值?还是一些技术来实现这一目标? 例如,给出表foo: group_id value1 11 51 92 22 42 8 SQL查询 select group_id,max(value),min(value),some_[详细]
-
为什么此查询会导致Oracle中的Merge Cartesian Join
所属栏目:[百科] 日期:2021-04-02 热度:82
我有一个最近需要修改的查询. 这是原件 SELECT RTRIM (position) AS "POSITION",. // Other fields . . FROM schema.table x WHERE hours 0 AND pay = 'RGW' AND NOT EXISTS( SELECT position FROM schema.table2 y where y.position = x.position ) 这是新[详细]
-
【Oracle】【9】取前N条记录——rownum和row_number() over()的
所属栏目:[百科] 日期:2021-04-02 热度:141
前言: 1,取前10条数据 2,取第10条到第20条的数据 3,排序后再取前10条 4,分组后取前10条 正文: 1,最普通的情况,取前10条数据 select * from table where rownum = 10 2,取第10条到第20条的数据 注:因为rownum本身只能用 =的比较方式,所以用rownum[详细]
-
Oracle的高级查询
所属栏目:[百科] 日期:2021-04-02 热度:120
1 merge 合并查询 merge into tabl1 a using (select 1717 product_id,"002" req_no from table2 b on (a.product_id = b.product_id and a.req_no = b.req_no) when matched then update set product_name = "更新",category = "新的" when not matched the[详细]
-
Oracle数据库的分析函数
所属栏目:[百科] 日期:2021-04-02 热度:171
分析函数 over 连续的相加 求各部门的薪水总和和全部总和 select name,salary,emp sum(salary) over (order by emp) 连续求和 sum(salary) over () 总和 100*round(sal/sum(sal) over(),5) 份额 from company; sum() = sum over() 求的是总和, sum over (or[详细]
-
Oracle数据库的分区
所属栏目:[百科] 日期:2021-04-02 热度:161
分区 日常开发中最常用的技术,主要针对于大数据量,频繁查询数据等需求 oracle 提供了 7种分区,本文主要介绍较常用的几种 range 分区 区域分区,分区的时候必须在创建表时指定 语法: create table (...) partition by range (filed) (partition r1 values[详细]
-
oracle – 表依赖的递归查询不会像我想的那样递归
所属栏目:[百科] 日期:2021-04-02 热度:72
我有一个想法,我可以编写一个查询来查找根表的所有后代表,基于外键. 查询看起来像这样: select level,lpad(' ',2 * (level - 1)) || uc.table_name as "TABLE",uc.constraint_name,uc.r_constraint_namefrom all_constraints ucwhere uc.constraint_type in[详细]
-
Oracle中TNS_ADMIN变量的用途是什么?
所属栏目:[百科] 日期:2021-04-02 热度:145
请告诉我在Oracle中使用TNS_ADMIN参数有什么用?我正在使用oracle数据库在Unix上工作. 是否需要此参数来定位sqlplus.我正在执行一个脚本,在该脚本中对Oracle数据库执行更新查询. 使用crontab执行时,脚本失败并显示127错误代码. 我怀疑(eval)失败的脚本内容是[详细]
-
在引入Oracle插入触发器的WHEN原因中,引用OLD的内容是什么?
所属栏目:[百科] 日期:2021-04-02 热度:52
在Oracle中编写行级触发器时,我知道您可以使用OLD和NEW伪记录来引用触发触发器的行的旧状态和新状态.我知道在INSERT触发器中OLD不包含任何数据,但我不确定这会如何影响该触发器的WHEN子句的评估.例如,如果我有以下触发器: CREATE OR REPLACE TRIGGER mung_r[详细]
-
oracle – 建立一对一关系
所属栏目:[百科] 日期:2021-04-02 热度:153
可以通过约束在Oracle中完全建模一对一关系吗?换句话说,PARENT实体总是完全具有子实体的n-CHILDREN,并且每个孩子只有一个父母. 将n视为数据库常量. 解决方法 即使多个会话正在进行更新,这样做也是非常容易的.如果你尝试使用触发器,你会陷入混乱,Oracle的声[详细]
-
oracle – PL / SQL:检索包中的过程和函数的名称
所属栏目:[百科] 日期:2021-04-02 热度:141
是否可以检索特定包中的所有过程和函数的名称?我知道他们可以从ALL_SOURCE视图中收集(闻起来像是hack-ish),但我更喜欢更规范的策略. 解决方法 DBA_PROCEDURES具有包中的公共方法 SELECT owner,object_name AS package_name,procedure_name AS method_name F[详细]
-
Oracle:存储过程的可变参数数量
所属栏目:[百科] 日期:2021-04-02 热度:149
我想使用存储过程将各种用户插入到Oracle数据库中.用户(表“用户”)具有姓名,姓氏和出生日期: CREATE TABLE "USER" ( "Name" VARCHAR2(50),"Surname" VARCHAR2(50),"Dt_Birth" DATE,) 创建用户的存储过程非常简单: CREATE PROCEDURE Insert_User(p_user,p_[详细]
-
使用.NET将数据加载到ORACLE数据库的最快方法是什么?
所属栏目:[百科] 日期:2021-04-02 热度:129
我目前有一个每日进程,使用调用sql_loader的 shell脚本将大量数据从TXT文件加载到ORACLE数据库.我想将它迁移到.NET服务,但不想依赖从我的服务执行sql_loader. 实现这一目标的最佳(最快)方法是什么? 解决方法 我假设你不喜欢SQLLoader,因为它的命令行界面,以[详细]
-
Oracle上的动态SQL与存储过程的性能
所属栏目:[百科] 日期:2021-04-02 热度:84
有很多关于SQL Server中缓存执行计划如何消除存储过程的大部分性能优势而不是动态sql的信息.但是,我还没有发现Oracle数据库是否也是如此.有没有人有关于Oracle中动态SQL处理信息的信息或指针?最好是实际的性能数字,而不是一般的“sp是好的”/“sp是坏的”讨[详细]
-
Oracle写入文件
所属栏目:[百科] 日期:2021-04-02 热度:168
我正在运行oracle并有一个查询从数据库中提取一些结果.我想把结果写成文本文件.我该怎么做呢? 我首选的方法是使用UTL_FILE.有人会举例说明如何做到这一点吗? 解决方法 如果您正在使用PL / SQL,那么您可以使用UTL_FILE包,与使用sql spool的不同之处在于文件[详细]
-
从ado.net调用Oracle存储函数并获得结果的正确方法是什么?
所属栏目:[百科] 日期:2021-04-01 热度:189
我有一个使用ado连接到Oracle数据库的vb.net代码库.我们有很多存储过程可以调用,有些存在多个out参数.但是,我现在需要调用一个存储函数,我不清楚如何将函数的结果返回到我的VB代码中. 编辑:我正在返回一个整数. 如何从ado.net正确调用oracle存储函数? 解决[详细]
-
Oracle:从记录数据类型中选择
所属栏目:[百科] 日期:2021-04-01 热度:196
我有一个函数返回记录数据类型(2个字段:ID和名称).如何从select语句中获取数据? 具体来说,我正在尝试使用OracleCommand对象尝试将对象转换为我的C#代码.我最初尝试过…… CALL FUNCTION_NAME() INTO :loRetVal …但是对于我使用的任何类型,我都会收到数据[详细]
-
有没有办法让Oracle重新计算每个查询调用的查询计划?
所属栏目:[百科] 日期:2021-04-01 热度:190
我有一个参数化查询.根据参数值,最佳查询计划会有很大差异.这就是麻烦:Oracle使用第一次查询调用的计划进行后续调用,导致性能下降.我通过动态SQL来处理它,但这种方式远非优雅.所以问题是:有没有办法告诉Oracle必须重新计算查询计划? 解决方法 对于Oracle[详细]
-
如何在字符oracle之后获取字符串
所属栏目:[百科] 日期:2021-04-01 热度:159
我有VP3 – Art设计和HS5 – 健康社交关怀,我需要在Oracle中的’ – ‘之后得到字符串.这可以使用子串实现吗? 谢谢, 氩 解决方法 对于像这样简单的字符串操作,我可能只使用基本INSTR()和SUBSTR()函数.在下面的查询中,我们从连字符后面的两个位置开始列的子[详细]
-
删除过程如果存在于DB Oracle中
所属栏目:[百科] 日期:2021-04-01 热度:51
有人能告诉我如何在Oracle中删除一个程序,但它是否存在? DROP PROCEDURE IF EXISTS XYZ; 以上不起作用. 解决方法 如果您的目标是消除脚本中的错误消息,那么您可以尝试 begin execute immediate 'drop procedure xyz';exception when others then if sqlcode[详细]
-
如何计时oracle选择查询
所属栏目:[百科] 日期:2021-04-01 热度:53
找出oracle select语句需要多长时间的最佳方法是什么.我有以下查询,我想找出时间,但是,由于此查询带来了四千条记录,并且在屏幕上显示这四千条记录需要时间,所说明的经过时间可能不正确. 有没有办法可以将它包装到游标中然后从sql plus运行它以便我得到执行它[详细]
-
Oracle:模拟“提交后”触发器
所属栏目:[百科] 日期:2021-04-01 热度:154
在将某些行插入表格后,如何获得“on commit”触发器的等价物? 在向表中插入多行后,我想向外部进程发送一条消息,表明有行可以处理.使用语句级触发器会导致每个插入一条消息,我只想发送一条消息,说“有待处理的行”. 解决方法 当您需要触发外部进程时,请查看[详细]
-
Oracle SQL子句评估顺序
所属栏目:[百科] 日期:2021-04-01 热度:170
在Oracle中,首先评估哪些子句类型?如果我有以下(假装….代表有效的表达和关系名称),评估的顺序是什么? SELECT ...FROM .....WHERE ........GROUP BY ...........HAVING .............ORDER BY ................ 我的印象是最后评估了SELECT子句,但除此之外[详细]
-
动态设置Oracle序列的“Start With”值
所属栏目:[百科] 日期:2021-04-01 热度:137
我正在尝试创建一个可以部署在多个数据库上的发布脚本,但是可以在以后将数据合并在一起.处理此问题的显而易见的方法是在后续部署中将生产数据的序列号设置得足够高以防止冲突. 问题在于提出一个发布脚本,该脚本将接受环境编号并适当地设置序列的“Start With[详细]
-
Oracle 10G和Derby数据库中的列数限制是多少
所属栏目:[百科] 日期:2021-04-01 热度:68
直到最近我才认为对Oracle DB中列数的限制是255.但结果是限制为1000.有人可以确认吗? 另外,我试图找出Derby DB中的列数是否有任何类似的限制,特别是嵌入式derby java DB 解决方法 这是Oracle文档的链接: Logical Database Limits. 摘抄: Per table 1000 c[详细]