-
Oracle SQL:重复使用CASE WHEN的子查询,而不必重复子查询
所属栏目:[百科] 日期:2021-04-01 热度:154
我有一个Oracle SQL查询,其中包括列输出中的计算.在这个简化的例子中,我们正在寻找日期在某个范围内的记录,其中某些字段与特定的东西相匹配;然后对于那些记录,取出ID(不是唯一的)并再次搜索表中具有相同ID的记录,但是某些字段与其他字段匹配且日期在主记录的[详细]
-
oracle – PL / SQL – 在Where子句中使用“List”变量
所属栏目:[百科] 日期:2021-04-01 热度:141
在PL / SQL中,如何声明包含多个值的变量MyListOfValues(MyValue1,MyValue2等) SELECT * FROM DatabaseTable WHERE DatabaseTable.Field in MyListOfValues 我正在使用Oracle SQL Developer 解决方法 使用集合: CREATE TYPE Varchar2TableType AS TABLE OF V[详细]
-
oracle – 使用本地CSV文件创建表
所属栏目:[百科] 日期:2021-04-01 热度:184
我有以下查询来创建一个表,但文件名位于我的本地机器上(因为我无权访问Oracle Box)如何使用本地文件在Oracle数据库上创建表).我看到的所有示例都假定该文件位于Oracle数据库服务器上. CREATE OR REPLACE DIRECTORY file_dir AS 'c:/temp';GRANT WRITE ON DIR[详细]
-
Oracle的用户定义聚合函数是否可以定义为使用两列?
所属栏目:[百科] 日期:2021-04-01 热度:58
我想实现一个自定义回归聚合函数,它类似于现有的REGR_SLOPE. 我想要定义的函数需要获得两列作为参数,例如 select T.EMPLOYEE_ID,CUSTOM_REGR_SLOPE(T.DATE,T.SALARY) as SALARY_TRENDfrom (...) Tgroup by T.EMPLOYEE_ID; Oracle的文档表明这可能是不可能的,[详细]
-
如何获取Oracle 10g中无效对象的错误列表
所属栏目:[百科] 日期:2021-04-01 热度:77
说明:我的数据库中有200多个无效对象,原因可能只有几个对象(其他因为依赖性).有没有办法可以选择对象名称和“错误原因”,因为它无效. 解决方法 您可以查询[DBA / ALL / USER] _ERRORS.它描述了当前用户拥有的所有存储对象(视图,过程,函数,包和包体)的当前错[详细]
-
Oracle – 是否可以在更新期间在case语句中“设置”值,如下所示
所属栏目:[百科] 日期:2021-04-01 热度:96
是否可以在更新期间在case语句中“设置”值,如下所示? UPDATE TABLE1 CASE WHEN COL1 = 'A' THEN SET COL2 = 10,COL3 = 20,COL4 = 30 WHEN COL1 IN ('B','N') THEN SET COL2 = 1,COL3 = 5,COL4 = 7 WHEN COL1 = 'D' THEN SET COL2 = 11,COL3 = 13,COL4 = 17[详细]
-
oracle – 在alter table中创建约束而不检查现有数据
所属栏目:[百科] 日期:2021-03-31 热度:196
我正在尝试在Oracle 11g R2提供的OE.PRODUCT_INFORMATION表上创建约束. 约束条件应使PRODUCT_NAME具有唯一性. 我用以下声明尝试过: ALTER TABLE PRODUCT_INFORMATION ADD CONSTRAINT PRINF_NAME_UNIQUE UNIQUE (PRODUCT_NAME); 问题是,在OE.PRODUCT_INFORMA[详细]
-
Oracle – 删除子行
所属栏目:[百科] 日期:2021-03-31 热度:102
有没有办法在删除表的父行时强制删除所有相关行(子行). 我的表有太多的参照完整性.我想知道在oracle中实现这个目标的简单方法是什么. 我感谢您的支持. 解决方法 您可以声明级联删除的外键约束,以便在删除父行时自动删除子行. SQL create table parent ( 2 pa[详细]
-
从整个Oracle DB获取DDL的有效方法
所属栏目:[百科] 日期:2021-03-31 热度:63
目前,Oracle 11.1数据库中大约有30个表. 有没有办法用一个命令生成所有ddl? (或者一些命令?) 编辑: 根据下面的建议,我试过: SELECT dbms_metadata.get_ddl( 'TABLE',table_name,owner ) FROM all_tables; 得到了: ORA-31603: object "HS_PARTITION_COL_[详细]
-
Oracle synonym 同义词
所属栏目:[百科] 日期:2021-03-31 热度:137
Oracle synonym 同义词 1、Oracle synonym 同义词是数据库当前用户通过给另外一个用户的对象创建一个别名,然后可以通过对别名进行查询和操作,等价于直接操作该数据库对象。 2、Oracle同义词常常是给表、视图、函数、过程、包等制定别名,可以通过CREATE 命[详细]
-
Oracle 11gR2 安装
所属栏目:[百科] 日期:2021-03-31 热度:178
? ? ? ? Oracle 客户端安装步骤: 配置tnsnames ?在 C:appAdministratorproduct11.2.0client_1? 中自定义文件? network/?admin/?tnsnames.ora 记事本打开 tnsnames.ora ,配置数据库信息(服务器上每次新建数据库都需要在这里手动配置) 配置环境变量[详细]
-
将SPATIAL数据从Oracle迁移到Postgresql
所属栏目:[百科] 日期:2021-03-31 热度:57
我正在尽我所能将空间数据库从Oracle迁移到 Postgresql并且失败了. 我已经尝试了许多不同的途径,你可以从我之前的问题中看到,这里没有任何工作.有人可以告诉我一个相对无痛的方式这样做,因为我现在无能为力. 我尝试过使用第三方软件,例如SwisSQL,但这种方法[详细]
-
从文本文件加载超过十亿行到Oracle的快速方法
所属栏目:[百科] 日期:2021-03-31 热度:145
我有大约20个数据的文本文件,所有数据都采用相同的格式,并且所有制表符都是分隔的.这些文件每个都有数百兆字节,而且我预计这些文件大约有12亿行数据. 我的问题 – 将这些加载到Oracle表中的最佳(也是最快)方法是什么?我试图通过TOAD中的内置导入功能加载它[详细]
-
Oracle’NOT LIKE’表达式不会返回NULL吗?
所属栏目:[百科] 日期:2021-03-31 热度:199
我尝试使用以下查询查询表: select * from name where firstname NOT LIKE 'PETER%' 它不返回firstname为null的任何记录.这是一些错误还是它是怎么回事?我来自SQL Server背景,并在这里与许多事情混淆. 解决方法 NULL与LIKE不匹配.您必须使用OR firstname I[详细]
-
在Oracle SQL中启动和连接
所属栏目:[百科] 日期:2021-03-31 热度:151
我有桌子如下 帐户 CUSTOMER_ID PAYING_ACCOUNT_ID PARENT_ACCOUNT_ID ACCOUNT_ID COMPANY_ID 24669 24669 24669 24669 0 24671 24671 24669 24671 0 24670 24670 24669 24670 0 3385217 3385217 24670 3385217 0 158 158 158 158 0159 159 158 159 0160 160[详细]
-
使用Oracle中的UTL_FILE包在ExcelSheet中编写
所属栏目:[百科] 日期:2021-03-31 热度:127
我在excel表中写入数据没有问题,它存储在一些预定义的目录中. 现在我有10组数据,每组我必须创建10个单独的excel表. 但我想要的是创建工作簿conating sheet1,sheet2. Sheet10.这将有10套记录.如果我的问题不明确,请告诉我. 我正在使用PL / SQL Oracle 9i 我的[详细]
-
oracle – 如何在动态SQL中更改序列?
所属栏目:[百科] 日期:2021-03-31 热度:88
我正在尝试创建一个脚本来将数据从一个数据库迁移到另一个数据库.我目前无法做的一件事是将序列的nextval设置为另一个DB中序列的nextval. 我从user_sequences中获得了值的差异,并生成了以下动态SQL语句: execute immediate 'alter sequence myseq increment[详细]
-
在Oracle中解决“无法在查询中执行DML”错误
所属栏目:[百科] 日期:2021-03-31 热度:104
我已经创建了常规功能.它已成功创建.但是当我运行它时 select reg('awlad','01968688680','545466455','12345') from dual 它给了我这个错误: ORA-14551: cannot perform a DML operation inside a query 我怎么解决这个问题? CREATE OR REPLACE FUNCTION[详细]
-
Oracle数据库的安装步骤
所属栏目:[百科] 日期:2021-03-30 热度:72
以oracle 11g为例 双击oracle安装文件,进入安装界面,检测安装环境 继续,不理会 取消勾选接受安全更新,点击下一步 选择是 这里直接下一步 根据实际需求选择系统类型,下一步 选择软件安装位置、数据库文件位置, 可以默认 输入管理口令,然后下一步 如果[详细]
-
Oracle数据库中的amp;1 ..意味着什么
所属栏目:[百科] 日期:2021-03-30 热度:52
我在一个oracle脚本中看到了这一行 SELECT COUNT(*) INTO version1 FROM 1..xxdt WHERE version = 3310; 我不明白 1 ..部分.我认为xxdt是表的名称,那么前面的 1 ..是什么东西呢? 解决方法 1提示输入用户输入的值.注意输入的值mytable如何替换下面的 1: SQL[详细]
-
varchar2(n)和varchar2(n char)之间的Oracle SQL区别
所属栏目:[百科] 日期:2021-03-30 热度:126
这里的脚本总是将varchar2列声明为varchar2(n char).我没有看到任何差异,只是好奇.谢谢! 解决方法 基于 this resource Oracle9i and above allow Varchar2 columns to be defined as a number of bytes VARCHAR2(50 BYTE) or a number of characters VARCHA[详细]
-
oracle – 除非我存储值,否则Sequence不会递增
所属栏目:[百科] 日期:2021-03-30 热度:155
在常规SQL中,每次调用时,我的序列都会递增.NEXTVAL: SELECT PDF_DATOS_TITULO_ID_SEQ.CURRVAL FROM DUAL; -- 54SELECT PDF_DATOS_TITULO_ID_SEQ.NEXTVAL FROM DUAL; -- 55SELECT PDF_DATOS_TITULO_ID_SEQ.NEXTVAL FROM DUAL; -- 56SELECT PDF_DATOS_TITULO_[详细]
-
oracle – 在另一个模式上创建表
所属栏目:[百科] 日期:2021-03-30 热度:108
情况是user1给user2提供了权限: GRANT CREATE ANY TABLE,SELECT ANY TABLE TO user2; 登录user2后,我正在尝试创建表: CREATE TABLE user1.test(id NUMBER PRIMARY KEY); 结果是ORA-01031 – 权限不足 我可以在自己的架构上创建表,并从其他架构中选择表.我[详细]
-
获取已建立的Oracle 11连接的IP地址
所属栏目:[百科] 日期:2021-03-30 热度:180
在开发过程中,我发现数据库有大量的生命连接: SELECT username,COUNT(*) FROM v$session GROUP BY username; 为了找到实际持有连接的人,我想获得一个IP地址列表. 在一般网页搜索和阅读official docs我构建查询: SELECT username,seconds_in_wait,machine,p[详细]
-
Oracle SQL – 筛选出包含具有特定值的行的分区或行组
所属栏目:[百科] 日期:2021-03-30 热度:161
我正在尝试解决以下问题:数据在表中组织,其中列X作为信息的外键(它是标识此表中的一组行的ID,它们属于一个捆绑包,由特定的所有者拥有)另一个表中的实体).因此,X的每个不同值都有多个与之关联的行.我想过滤掉在Q列中包含与其相关联的行的X的所有不同值,其中[详细]
