-
在Oracle存储过程中简单选择
所属栏目:[百科] 日期:2021-04-25 热度:96
如何使用Oracle通过简单的select(SELECT * FROM TABLE)创建存储过程?此外,任何关于存储过程的好教程都会有很大帮助. 谢谢. 解决方法 这取决于您尝试从存储过程返回的内容(结果集与标量值)以及您所使用的Oracle版本(较新版本使这更容易). 这个问题可能是Ge[详细]
-
oracle – PARTITION BY 1是什么意思?
所属栏目:[百科] 日期:2021-04-25 热度:65
对于一对游标,其中在第一个FETCH之后立即需要结果集中的总行数(在一些试错之后),我想出了下面的查询 SELECT col_a,col_b,col_c,COUNT(*) OVER( PARTITION BY 1 ) AS rows_in_resultFROM myTable JOIN theirTable ON myTable.col_a = theirTable.col_zGROUP[详细]
-
Oracle聚合函数为组返回一个随机值?
所属栏目:[百科] 日期:2021-04-25 热度:96
标准SQL聚合函数max()将返回组中的最高值; min()将返回最低值. Oracle中是否有一个聚合函数来从组中返回一个随机值?还是一些技术来实现这一目标? 例如,给出表foo: group_id value1 11 51 92 22 42 8 SQL查询 select group_id,max(value),min(value),som[详细]
-
为什么此查询会导致Oracle中的Merge Cartesian Join
所属栏目:[百科] 日期:2021-04-25 热度:60
我有一个最近需要修改的查询. 这是原件 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-25 热度:56
前言: 1,取前10条数据 2,取第10条到第20条的数据 3,排序后再取前10条 4,分组后取前10条 正文: 1,最普通的情况,取前10条数据 select * from table where rownum = 10 2,取第10条到第20条的数据 注:因为rownum本身只能用 =的比较方式,所以用rownu[详细]
-
Oracle的高级查询
所属栏目:[百科] 日期:2021-04-25 热度:59
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 t[详细]
-
Oracle数据库的分析函数
所属栏目:[百科] 日期:2021-04-25 热度:112
分析函数 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 ([详细]
-
Oracle数据库的分区
所属栏目:[百科] 日期:2021-04-23 热度:108
分区 日常开发中最常用的技术,主要针对于大数据量,频繁查询数据等需求 oracle 提供了 7种分区,本文主要介绍较常用的几种 range 分区 区域分区,分区的时候必须在创建表时指定 语法: create table (...) partition by range (filed) (partition r1 valu[详细]
-
oracle – 表依赖的递归查询不会像我想的那样递归
所属栏目:[百科] 日期:2021-04-23 热度:70
我有一个想法,我可以编写一个查询来查找根表的所有后代表,基于外键. 查询看起来像这样: select level,lpad(' ',2 * (level - 1)) || uc.table_name as "TABLE",uc.constraint_name,uc.r_constraint_namefrom all_constraints ucwhere uc.constraint_type[详细]
-
Oracle中TNS_ADMIN变量的用途是什么?
所属栏目:[百科] 日期:2021-04-23 热度:71
请告诉我在Oracle中使用TNS_ADMIN参数有什么用?我正在使用oracle数据库在Unix上工作. 是否需要此参数来定位sqlplus.我正在执行一个脚本,在该脚本中对Oracle数据库执行更新查询. 使用crontab执行时,脚本失败并显示127错误代码. 我怀疑(eval)失败的脚本内容[详细]
-
在引入Oracle插入触发器的WHEN原因中,引用OLD的内容是什么?
所属栏目:[百科] 日期:2021-04-23 热度:54
在Oracle中编写行级触发器时,我知道您可以使用OLD和NEW伪记录来引用触发触发器的行的旧状态和新状态.我知道在INSERT触发器中OLD不包含任何数据,但我不确定这会如何影响该触发器的WHEN子句的评估.例如,如果我有以下触发器: CREATE OR REPLACE TRIGGER mung[详细]
-
oracle – 建立一对一关系
所属栏目:[百科] 日期:2021-04-23 热度:193
可以通过约束在Oracle中完全建模一对一关系吗?换句话说,PARENT实体总是完全具有子实体的n-CHILDREN,并且每个孩子只有一个父母. 将n视为数据库常量. 解决方法 即使多个会话正在进行更新,这样做也是非常容易的.如果你尝试使用触发器,你会陷入混乱,Oracle的[详细]
-
oracle – PL / SQL:检索包中的过程和函数的名称
所属栏目:[百科] 日期:2021-04-23 热度:58
是否可以检索特定包中的所有过程和函数的名称?我知道他们可以从ALL_SOURCE视图中收集(闻起来像是hack-ish),但我更喜欢更规范的策略. 解决方法 DBA_PROCEDURES具有包中的公共方法 SELECT owner,object_name AS package_name,procedure_name AS method_name[详细]
-
Oracle:存储过程的可变参数数量
所属栏目:[百科] 日期:2021-04-23 热度:191
我想使用存储过程将各种用户插入到Oracle数据库中.用户(表“用户”)具有姓名,姓氏和出生日期: CREATE TABLE "USER" ( "Name" VARCHAR2(50),"Surname" VARCHAR2(50),"Dt_Birth" DATE,) 创建用户的存储过程非常简单: CREATE PROCEDURE Insert_User(p_user,[详细]
-
使用.NET将数据加载到ORACLE数据库的最快方法是什么?
所属栏目:[百科] 日期:2021-04-23 热度:105
我目前有一个每日进程,使用调用sql_loader的 shell脚本将大量数据从TXT文件加载到ORACLE数据库.我想将它迁移到.NET服务,但不想依赖从我的服务执行sql_loader. 实现这一目标的最佳(最快)方法是什么? 解决方法 我假设你不喜欢SQLLoader,因为它的命令行界面,[详细]
-
Oracle上的动态SQL与存储过程的性能
所属栏目:[百科] 日期:2021-04-23 热度:177
有很多关于SQL Server中缓存执行计划如何消除存储过程的大部分性能优势而不是动态sql的信息.但是,我还没有发现Oracle数据库是否也是如此.有没有人有关于Oracle中动态SQL处理信息的信息或指针?最好是实际的性能数字,而不是一般的“sp是好的”/“sp是坏的”[详细]
-
Oracle写入文件
所属栏目:[百科] 日期:2021-04-23 热度:163
我正在运行oracle并有一个查询从数据库中提取一些结果.我想把结果写成文本文件.我该怎么做呢? 我首选的方法是使用UTL_FILE.有人会举例说明如何做到这一点吗? 解决方法 如果您正在使用PL / SQL,那么您可以使用UTL_FILE包,与使用sql spool的不同之处在于文[详细]