oracle12c相关内容
我有一个像这样的表,其中,出于示例的原因,假设NAME是唯一标识符. NAME AGE VALUE Jack Under 65 3 Jack 66-74 5 John 66-74 7 John Over 75 9 Gill 25-35 11 某些NAME具有多个AGE,这是不希望的,因
..
假设,我在一个表中有4列 id | col1 | col2 | col3 现在我想将其转置为一列,但分为四行: result ------- someid col1data col2data col3data 我该如何实现? 谢谢! 解决方案 这可以使用unpivot完成. select result from tablename unpivot (resul
..
我编写了一个查询,该查询从城市名称的不同列组中提取数据. 我的查询如下: select q.first_name from (select employee_id as eid,first_name,city from employees group by city,first_name,employee_id order by firs
..
我在表中的日期以存储为小数年.一个示例是2003.024658,它转换为January 9, 2003. 我想将十进制年份转换为Oracle的日期格式. 我找到了在Excel中完成此操作的人: =DATE(INT(B1),1,MOD(B1,1)*(DATE(INT(B1)+1,1,1)-DATE(INT(B1),1,1))) 但是,我不太清楚如何将逻辑转换为Oracle PL/SQL.
..
例如,这是一个年度序列. no以year递增: | no | year | +----+------+ | 1 | 2016 | | 2 | 2016 | | 3 | 2016 | | 1 | 2017 | | 2 | 2017 | | 4 | 2016 | 到目前为止,我已经为每年创建了序列 但是问题是Oracle不会在明年自动创建新序列. 另一个问题是,如果我想使
..
我正在寻找一种为select语句结果集使用PL/SQL脚本创建SQL INSERT语句的解决方案.寻找在SQL Developer工具中可用的类似功能(导出->格式插入),但我希望该解决方案作为脚本而不是使用任何工具. 我已参考以下解决方案.但是,我想知道是否有更好的方法可以解决此问题,因为该解决方案既旧又不是很简单. 导出为插入声明:但是在SQL Plus中,该行覆盖2500个字符!
..
我已经在系统上安装了Oracle 12c数据库.我有一个需要访问数据库的应用程序. 以前,在Oracle 11g中,我使用以下命令创建用户. create user name identified by name; grant connect,create session,resource,create view to name; 有人可以告诉我如何根据我的上述要求在Oracl
..
昨天我给这个问题 时,我建议使用虚拟列而不是手动更新计算值. 我自己做了一个测试,发现了虚拟列表达式在连接两个 NUMBER 类型列时所占用的数据大小的问题.不过,串联两个字符没有问题. 数据库版本: SQL> select banner from v$version where rownum = 1; BANNER ------------------------------
..
希望有人能发现我在做错事,因为我正为此秃头. 我使用了utl_http&钱包可以轻松地在11gR1上调用https,但是我们新安装的12c给我带来了很多麻烦. 我尝试同时使用oracle钱包管理器和命令行导入可信证书,但没有成功. 我知道oracle在缓存钱包方面可能会很挑剔,因此我尝试了多个新会话,但没有任何运气. 我已经为* .presstogo.com,Geotrust S
..
我有Docker Compose集群,其中一个容器是Oracle 12c.有schema.sql文件可以初始化db.我希望我的应用程序等到数据库执行所有sql.如何使用bash以自动方式进行操作? 非常感谢您的任何建议! 解决方案 这里有很多要解释的内容,但是对于类似的问题,我将链接我以前的答案之一-步骤实际上是相同的,因为只有数据库服务和背景不同. 1) 第一件事是,您必须提
..
插入后如何在Oracle 12c中返回标识列(id)的值?似乎大多数方法都使用序列来获取插入项的ID. 解决方案 只需使用 RETURNING 子句. 例如- RETURNING identity_id INTO variable_id; 测试用例- SQL> set serveroutput on SQL> CREATE TABLE t 2 (ID NUM
..
我是SQL Server用户,并且我有一个使用Oracle的小项目,因此,我试图了解Oracle的某些特殊性,我认为我需要一些帮助以更好地了解以下情况: 我想在创建临时表之前测试它是否存在,所以在这里有以下代码: DECLARE table_count INTEGER; var_sql VARCHAR2(1000) := 'create GLOBAL TEMPORARY table
..
我遇到了有关Oracle 12c上丢失数据的问题. 我看了一下代码,发现一个适用于mysql,mssql,oracle 11g的查询,但在oracle 12c中具有不同的行为. 我已经概括了表结构并进行了一些查询,并重现了该问题. create table thing (thing_id number, display_name varchar2(500)); create ta
..
我对PLSQL的更高级主题还是陌生的,所以希望有人可以帮助我. 问题: 我有一个表格,其中包含管理员和用户之间发送的消息.该表在同一表的message_id字段中具有带FK的message_parent:如果填充了该字段,则意味着该消息是作为对先前消息的答复而发送的.我需要选择属于同一对话的所有消息并显示它们.可以通过单个查询完成此操作,还是需要一个过程来处理这种逻辑?据我了解,它必须是递归
..
我正在尝试使用有条件的SUM进行查询.重置后,SUM需要大于15.像这样: A | 3 | 3 B | 7 | 10 C | 6 | 16 -- ==== D | 5 | 5 E | 9 | 14 F | 3 | 17 -- ==== G | 8 | 8 我该怎么做? 解决方案 作为递归SQL的替代方法,您还可以使用SQL MODEL子句.就个人而言,尽管很难编写(因为
..
我有以下字符串: ThisSentence.ShouldBe.SplitAfterLastPeriod.Sentence 所以我想选择Sentence,因为它是最后一个句点之后的字符串.我该怎么办? 解决方案 您可能可以使用复杂的正则表达式执行此操作.我喜欢以下方法: select substr(str, - instr(reverse(str), '.') + 1)
..
Oracle 12引入了一项不错的功能(应该早就应该存在!)-标识列.所以这是一个脚本: CREATE TABLE test ( a INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY, b VARCHAR2(10) ); -- Ok INSERT INTO test (b) VALUES ('x'); -- Ok INSER
..
当具有标识列时,如何在Oracle 12c中使用SQL进行多次插入? INSERT ALL INTO Table1 (Column2) Values (1) INTO Table1 (Column2) Values (2) SELECT * FROM dual; 其中Table1具有column1作为标识,将标识列设置为具有与主键约束相同的值. CREATE TABLE Table
..
我刚刚安装了oracle11g,但缺少了Scott模式.所以我想自己生成它.我得到了"Scott"模式的SQL脚本,但是当我尝试运行查询“创建由老虎标识的用户Scott"时,它显示以下错误: ORA-65096:在oracle中无效的通用用户名或角色名. 基本上,不允许我创建用户"Scott".为什么会这样,我该如何解决我的问题? 解决方案 在创建用户之前运行: alte
..
我使用的是oracle 11g,并且需要名称,该大小必须大于30个字符,我知道11g中的最大大小为30个字符. 我可以更改此最大大小吗? Oracle 12c中表/列/索引名称的最大大小是多少? 解决方案 12cR1 限制为30个字节(在单字节字符集中,它将等于30个字符).可以更改吗?不,您不能进行任何更改以允许Oracle使用大于30个字节的对象名称. 第二个版本的
..