oracle 11g休眠问题
我正在将我的数据库从PostgreSQL更改为Oracle 11g。我将Hibernate3.0与Java和Struts结合使用 PostgreSQL一切正常 我在hibernate.cfg.xml文件中更改了以下内容 <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property> <property name="hibernate.c
我正在将我的数据库从PostgreSQL更改为Oracle 11g。我将Hibernate3.0与Java和Struts结合使用 PostgreSQL一切正常 我在hibernate.cfg.xml文件中更改了以下内容 <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property> <property name="hibernate.c
我有一个VB.Net函数,它执行Oracle存储过程并返回数据集。 下面是一个样本记录列表 OrderID OrderDetail Qty Date Supplier Price 1 Books 10 10-Aug-08 ABC Inc 100.00 1 Pens 20 10-Aug-08 ABC Inc 300.00 2 Keys 1 20-Aug-09
我使用的是Toad 8.6,当我尝试使用模式浏览器的“数据”选项卡添加新记录时,我的“插入记录”将变灰。因此,我安装了9.6版本,同样的问题仍然存在 请参见图中以红色显示的灰色按钮 我能够通过Toad的SQL编辑器中的SQL insert语句添加记录 如何解决此问题?您是指显示在SQL结果网格顶部的+按钮吗 有一个“编辑网格”按钮,您应该先单击该按钮,然后启用对数据网格的更改。否则,结果网格是只读的。您的蟾蜍是只读安装的吗?帮助文件提供了有关将TOAD安装为只读应用程序的信息。取消选中默认为T
对于大多数记录,此字段为空。我只需要叫醒一些唱片 这张桌子很大,我想知道该唤醒哪些唱片。我不希望数据库搜索每一行。你能告诉我你的想法吗?为什么不在起床时间创建一个索引呢?此外,默认情况下,您可以使用一个遥远的日期来填充它,如3000-01-01。仅在(唤醒时间)上创建一个普通索引。只有WAKEUP_TIME不为空的行才会存储在索引中。当WAKEUP_TIME更新为NULL时,该条目将从索引中删除,因此索引将是查找与谓词匹配的所有行的最有效方法。与WAKEUP_TIME的索引一致。不同意“far-
我们正在使用ADO访问Oracle10gRelease2,即Oracle10g的Oledb提供商。我们在连接池方面面临一些问题。数据库驻留在远程计算机上,连接池正在按其应有的方式进行。但是,如果远程计算机由于某种原因停机,连接将从池中返回,并且对该连接的查询将失败。当此连接关闭时,它将返回到池中,而不是无效。后续连接打开请求成功,但查询失败。这是一种奇怪的行为,根据OLEDB规范,提供程序必须支持DBPROP_CONNECTIONSTATUS属性,因此在连接无效的情况下,它不会返回到池中 当远程
我需要使用PL/SQL查找是否存在名为MY_SEQ的特定序列。如果序列存在,则将其删除并创建一个新序列,否则仅创建一个新序列 例如伪代码 IF EXISTS(MY_SEQ) THEN BEGIN DROP SEQUENCE MY_SEQ; CREATE SEQUENCE MY_SEQ... END; ELSE BEGIN CREATE SEQUENCE MY_SEQ; END; 我有几个未经测试的想法: 1 Oracle通常支持创建或替换之类的功能 2使用SYS用户的一个系统视
在R中使用ROracle时,我希望将一些参数绑定到数据,因此我执行以下操作: > dbh <- dbConnect('Oracle', 'user/pass@host.com:port/sid') > st <- dbPrepareStatement(dbh, statement="SELECT x FROM mytab WHERE id=:1", bind="character") > st <- dbE
我想更新触发触发器的同一条记录。我使用“插入前”完成了此操作 选项但请注意,如果存在任何错误,我必须使用事务回滚操作 CREATE OR REPLACE TRIGGER GANUKA.INTF_CONTROLLER_UPLOADER BEFORE insert ON GANUKA.INTF_CONTROLLER for each row DECLARE PRAGMA AUTONOMOUS_TRANSACTION; max_id INTEGER; stat VARCHAR
我知道这有点奇怪,但我只是想知道这是如何设置的。 有两个数据库,它们是相同的(一个是另一个的镜像)。 第一个数据库名为“reportsdw”,另一个数据库名为“reportsdwx”。 我试着从中“选择”dual@reportsdw在reportsdw db上,它工作了,但当我这样做时,“选择*from”dual@reportsdwx“在reportsdwx上,它不工作。 有人能解释一下吗?这是可能的,但您必须创建相应的数据库链接。您的意思是我需要在reportsdwx数据库上创建reports
我正在使用Oracle 10g XE(快速版)。如果我试图创建位图索引,我会得到一个错误 未启用ORA-00439功能:位映射索引 如何解决此问题并创建位图索引?联机文档包括许可指南。上面说: Feature | Availability ---------------------------------------+-------------- Bitmapped index, bitmapped join index | N
我希望我的表根据其模板ID按列排序。 我希望这种情况通过insert触发器在insert上发生。 例如,如果我运行下面的插入,我应该得到下面的表值 INSERT INTO TEMPLATE_ATTRIBUTES (ID, TEMPLATE_ID) VALUES (1, 1) INSERT INTO TEMPLATE_ATTRIBUTES (ID, TEMPLATE_ID) VALUES (2, 1) INSERT INTO TEMPLATE_ATTRIBUTES (ID, TEMPLATE_ID
我正在尝试编写一个PLSQL函数,该函数实现一个约束,即员工不能同时是驾驶员和机械师,换句话说,来自TRKEMPLOYEE的同一个E#不能同时在TRKDRIVER和TRKMECHANIC中。如果DB的内容违反了该约束,请列出所有机械师和司机的E#和姓名。上述表格如下所示: TRKEMPLOYEE(E# NUMBER(12) NOT NULL NAME VARCHAR(50) NOT NULL, DOB
我正在尝试从一台带有9i(v9.2.0.1)客户端的PC连接到11g(v11.2.0.1.0)上的架构。它似乎可以很好地连接到某些模式,但不是这个模式-每次返回时都会出现ORA-01017无效用户名/密码错误 用户名和密码绝对正确-有人能想出这样做不起作用的原因吗 9i和11g之间是否存在根本性的不兼容?用户和密码绝对不正确。 Oracle 11g凭据区分大小写 尝试更改系统设置secu\u区分大小写\u LOGON=FALSE; 并更改密码 如果所有其他操作都失败,请尝试将密码重置为相同的内容
我想在插入更多行之前创建一个触发器。 在插入新数据之前,我希望通过id删除这些数据的早期版本 e、 g: 如果它是一个简单的行级触发器,那么我可以使用new.fooId获取fooId。 但事实并非如此。 那么,我可以获取或提供一个id来插入所有触发器吗 THX.全部插入是插入的特例,它将在插入触发器之前/之后触发标准的 您需要在每一行上使用触发器来访问要插入的行的值。(un)幸运的是,您不能使用行触发器来查询您试图修改的表:您将遇到ORA-04091。如果你想做这种逻辑,为什么不应该使用触发器
我正在使用下面的查询,其中引用的表有5000多万条记录。通过创建历史记录表可以帮助我获得更好的CPU性能吗?或者除了分区之外还有其他选择吗。或者查询计划调整是唯一的选项 SELECT MIN(minbkt), maxbkt, SUBSTRB(DUMP(MIN(val), 16, 0, 32), 1, 120) minval, SUBSTRB(DUMP(MAX(val), 16, 0, 32), 1, 120) maxval, SUM(rep
请记住,我在这里分两个阶段构建查询。第一阶段是让它与效率低下的现有查询一起工作 我一点也不擅长PL/SQL,但我在这里学习得很慢 我有一个疑问: SELECT LOGONID,FIRSTNAME,LASTNAME,ORGNAME FROM WCSADMIN.USERREG UR,WCSADMIN.ADDRESS A WHERE UR.USERS_ID = A.MEMBER_ID AND A.ADDRESSTYPE IN('S','SB') AND A.STATUS='P' AND UR.S
我想根据有序列表生成累积信息。 在下面的示例中,我想根据其他3列生成降雨天数。 因此,按城镇和日期排序,如果天气干燥,则为空,如果天气下雨,则为累积分数 从程序上讲,这很容易,但感觉应该有一种方法可以直接用sql生成,我就是搞不懂 可能您可以使用分析范围窗口,但我不知道如何跨3列执行此操作。如果有中间行,则需要重置,这意味着我不能忽略“干”行,而只使用行号 town day weather days of rain Stevenage 1 dry Stevenag
我在oracle 10g DB中面临一种奇怪的行为。我经常无法通过sql developer更新我的一个表。当我触发更新查询超过1000秒时,查询仍在运行。那张表的内容非常少 如何解决上述问题?有什么办法吗 问候,, Jerald.是否有可能存在一个未受限制的回滚事务,它持有行级/表锁?@NicholasKrasnov,我可以知道如何查看行级/表锁吗?dba查看V$SESSION,V$transaction,V$LOCK和V$SQL可能会有所帮助。请查看V$locked\u对象动态性能视图的内容
我已经执行了对单个组织id的查询,它工作正常 开始 mo_global.set_policy_context('S',204); 结束 但对于多个情况,我执行了以下查询,但它不起作用 开始 mo_global.set_policy_context('M',204); 结束 甚至我也试过运行这个- 开始 mo_global.set_policy_context('M',null); 结束 我只想知道多个组织id情况下的第二个参数。使用exec MO_GLOBAL.INIT('Give Applic
我在oracle数据库上运行了一个select查询,它只需要大约15秒就可以运行。但是,当我尝试使用createselectas或创建空白表并插入行来创建表时,create只是一直在运行(到目前为止,我已经等待了15分钟,没有结果) 下面是我尝试使用create blank then insert方法,该方法显示了我正在创建的表的结构和我正在尝试插入的数据: CREATE TABLE MYNEWTABLE (mykey number(10), brand varchar2(255), day_i
我已经开始学习PL SQL存储过程,我有两个有趣的问题要问。 在下面的示例中,I执行employer\u details,如果找到,它将返回雇员的id和姓名。每件事都很好,但这个过程不是动态的,而是特定于表的 CREATE OR REPLACE PROCEDURE employer_details IS CURSOR table_cur IS SELECT id, name FROM employee where id in(12,23,34); -- point 1 table_rec t
当我使用以下查询时,我得到ORA-00933错误 SELECT * FROM sales PIVOT (sum(quantity) FOR color IN ('WHITE','DARK')); 我的表格说明如下: CREATE TABLE SALES( ITEM_NAME CHAR(20) NOT NULL, COLOR CHAR(20) NOT NULL, CLOTHES_SIZE CHAR(10) NOT NULL, QUANTITY INTEGER NOT NULL ); 试验数据为
我在甲骨文是个新手,我正在做一些我在一个网站上找到的例子来学习一些新东西。其中一项任务是从桌子上拿东西,哪家酒店的客人最多。我发现这个问题真的很复杂,我自己解决不了,所以如果有人能帮我解答和解释为什么会这样,我会很高兴的 我以这种方式理解了这个问题,即您必须连接访客,访客,酒店,拥有和所有者表格 解释OWNING表将所有者与他们的酒店连接,而VISITED表将访客与他们下榻的酒店连接 这是该示例的我的表: 到目前为止,我尝试的是: SELECT visitor.id, visitor.name,
我有以下问题: 第一名: 两个选择列表(A和B)的年份取决于彼此。 当列表A具有选定的年份时,列表B应具有“Alle”条目。反之亦然 与动态动作配合使用效果良好 秒: 根据这两个项目,我有更多的A&B项目作为“级联LOV父项” 第二个可以正常工作,但是第一个列表项没有得到更改 - 列表项C中的SQL依赖于A&B,由于值错误,无法正常工作 - 你明白我的意思吗?有希望吗?我正在考虑一个单选按钮,让用户首先选择他想使用的年份(-column),但这不是我想要的 Thx和ADVICES现在我使用了第二
此系统已注册到Red Hat Subscription Management,但未接收更新。您可以使用订阅管理器分配订阅。 解决依赖关系 This is what I get when trying to install: [root@ilorafraud3 yum.repos.d]# **yum install oracle-rdbms-server-12cR1-preinstall -y** Loaded plugins: langpacks, product-id, subscript
我需要对基本APEX数据库表转储进行以下自定义: 用户还需要能够编辑网格中显示的数据 用户需要能够向网格中添加新行并输入值 在每个列标题上方,需要有一个文本字段,用户可以在其中输入值 在数据网格的右侧,需要有一个搜索按钮,该按钮将使用列标题上方输入的值重新显示网格中的数据。如果字段为空,则应返回该字段的所有可能值 页面上应该有一个保存按钮,允许用户保存他们在网格中输入/更新的数据 我想知道APEX是否可以实现这些功能,以及如何实现这些功能。听起来您正在寻找类似交互式报告的功能: (我知道链接到
我在oracle中编写了一个过程(使用此处提供的指导)来检查表中的任何重复值,以便具有相同countryId的国家/地区应返回一些错误消息,因为countryId是countries表中的PK。如下所示: CREATE OR REPLACE PROCEDURE add_values4 (c_cntry_id IN OUT COUNTRIES.COUNTRY_ID%TYPE, c_cntr_name IN COUN
我在oracle数据库中有3个表。我正在编写一个过程,根据某些条件删除所有3个表中的一些行 我在这个过程中一个接一个地使用了所有三个delete语句。在执行上述存储过程时,是否在执行时在中发生自动提交 否则,是否需要在最后手动编写提交代码?存储过程范围内没有自动提交。但是,如果您使用的是SQL Plus或SQL Developer,根据设置,自动提交是可能的 您应该将提交和回滚作为存储过程代码的一部分来处理。没有自动提交,但可以将提交命令设置到存储过程中 示例#1:无提交 create proc
我在创建架构时收到有关Oracle的消息: ORA-01658:无法使用应用程序为表空间中的段创建初始扩展数据块 我已经找到了解决这个问题的方法,但它仍然不起作用 有人有相同的问题吗?您需要具有DBA权限才能解决此问题 看 扩展数据文件以添加空间(alterdatabasedatafile RESIZE) 将新数据文件添加到表空间(ALTER tablespace add datafile 谢谢Rahul,我们在创建表空间和数据文件时设置了AUTOEXTEND。我们是否仍然需要调整数据文件和表空
我有这样一个代码: FOR i IN 1 .. 20 LOOP F(i); -- for each i, F(i) takes 20 minutes to be executed END LOOP; 我正在寻找一种在调用F(1)之后再调用F(2)的方法。我的意思是我不想等待F(1)成功执行,然后调用F(2) 我的目标是整个循环需要20分钟,而不是400分钟。在Oracle表单中实现此功能的最佳方法是什么 如果无法在表单中实现它,我可以创建一个pl/sql函数来实现这一点,然后从我的表单
我不熟悉Liquibase软件,并计划将其用于Oracle Liquibase支持所有版本的Oracle,还是只支持任何特定版本的Oracle?通常,它支持最新版本的Oracle。可能不支持特定的Oracle功能 您始终可以与Liquibase一起使用,因此它支持通过jdbc连接的任何Oracle版本。您需要支持哪些Oracle版本?
我有一个如下的查询: with t as ( ****** complex query from several joining tables ***** ) select * from t; 查询将按实体id返回实体列表。 好像这并不重要: 12001 12004 15003 除此之外,我还有一个包含3列的表: 序列 上面的实体 日期格式:dd/mm/yyyy 并非所有实体的生效日期都相同 例如,该表如下所示: seq
逻辑就是案例!我怎样才能写好? 我一般能这样写吗 第一件事:Oracle还是MySQL?@mathguy Oracle,但这对我来说无关紧要。我可以用caseIn Oracle编写这个案例,这是一个有效的语句(嵌套的案例表达式)。你可以这样写。不清楚它是做什么的(您没有描述您的基表,以及when条件中的“title”是什么,等等),但原则上它是可以的。建议:当您查看问题时,检查标签。如果您同时看到MySQL和Oracle,那么这应该是OP的第一个问题。MySQL解决方案不太可能解决Oracle的
我有两张桌子,叫“订单”和“假日” “订单”表 订单ID |订单日期 102-03-2017 202-03-2017 302-03-2017 402-03-2017 504-03-2017 604-03-2017 704-03-2017 804-03-2017 “假日”表 Holid | holiDate 112-03-2017 202-06-2017 306-09-2017 402-03-2017 然后,我有了这个查询 SELECT orderId, orderDate, CASE WEH
我有一个名为MyTable的事件表,在这个表中我有一个MyTableId列,我们在该列上创建了索引。此表有7000万行。 现在,我已经创建了一个清除过程,它根据表类型集合MyTableCollection清除事件。集合有100行限制。因此,作为一个整体,我们一次可以清除100行。但是当我在进程中运行下面的查询时,它被卡住了40分钟 DELETE FROM MyTable WHERE MyTableId IN (SELECT MyTableId FROM TABLE(
我试图创建一个表,并编写了以下代码 create table trial as( SELECT l2_group AS Customer , null AS Contact FROM ACCT_MASKED_sep17_V1) ; 当我运行CREATETABLE as select查询时,它给了我一个错误 如何获得结果您需要为NULL列指定数据类型。例如: create table t1 as select 1 as c1 , cast(null
我认为这与子查询无关。但我不知道如何搜索这个问题 我想连接两个查询结果,一个来自a表,另一个来自b表。我认为这是一个简单的查询,但我有点忘记了 select id, value as a_value from a where id = 1 and sub_id = 1; select id, value as b_value from b where id = 1 and sub_id = 2; 最终,我想获得两个值的a|u值| b|u值聚合,我如何实现这一点 我的想法是 select aa.
我创建了一个匿名块,该块将删除电子邮件列中@之前的所有内容 DECLARE v_id NUMBER(10); v_email VARCHAR2(30); i NUMBER(1) := 0; CURSOR cursor_name IS SELECT Id, (substr (email, instr (email,'@',1) + 1 )) AS Domain FROM invoices WHERE id=31232681; BEGIN
我使用UNION功能编写了一个查询,但无法获取任何记录。它返回0条记录 SELECT p_mv.created_by createby, TO_CHAR(sf_get_local(p_con.created_date,p_con.cdate_tz_code),'DD MON YY HH24:MI') createdate, port.port_name d
我的桌子看起来像这样: +-------------------+ |Name | +-------------------+ |Name1 | |Name2 | |Name3 | |Name4 | |Name1Jr | |Name2Jr | |Name3Jr | |Name4Jr
我正在从事一个项目,在该项目中,我们可能会使用Oracle 11g或Oracle 12c数据库,具体取决于在各种环境中可用的数据库--我知道这并不理想:( 我的项目是一个Spring启动应用程序,我使用Liquibase来管理数据库对象 我的问题是,如果我在Oracle 12c数据库上运行,我希望利用自动递增的ID,而在Oracle 11g上,我将不得不依赖触发器和序列 是否有办法检测当前版本的Oracle是否支持自动递增,或者是否需要查看版本号? 我目前使用的SQL有效,它只查看版本号: SE
我在第5行出错了。代码未编译 这是一份学术作业。从if语句中的等式中删除: :=表示您的赋值,就像您在上面的old.status中所做的那样 create or replace trigger check_status BEFORE update on LDS_PLACEMENT for each row declare STATUS LDS_PLACEMENT.STATUS%type; begin STATUS :=old.STATUS; if STATUS := 'Closed' then
假设有一个查询返回column1,column2。我希望能够在Oracle中将结果格式化为理想的输出 我想搞乱字符串,这就是为什么我要问这个问题~~ create table taTest( column1 varchar(50), column2 varchar(50) ) 这是我想要格式化结果的基本查询: select distinct(column1),column2 from taTest; 我试过这样的方法: select wm_concat(distinct(column1)|
我正在尝试使用下面的SQL语句对Oracle 12C R1中的现有表进行分区 ALTER TABLE TABLE_NAME MODIFY PARTITION BY RANGE (DATE_COLUMN_NAME) INTERVAL (NUMTOYMINTERVAL(1,'MONTH')) ( PARTITION part_01 VALUES LESS THAN (TO_DATE('01-SEP-2017', 'DD-MON-RRRR')) ) ONLINE; 获取错误: Error repo
我读到了 USER_TABLES is tables which you own ALL_TABLES is tables which own, and tables owner by other users, which you have been granted explicit access to DBA_TABLES is all tables in the database All three are views of the underlying SYS tables 基于上述内容
我正在开发一个票务应用程序,并使用下面的功能自定义身份验证 create or replace FUNCTION f_val_leave_user_issue(p_username IN VARCHAR2, p_password IN VARCHAR2) RETURN BOOLEAN IS lv_char CHAR(1); lv_cnt NUMBER; BEGIN SELECT 'x' I
我正在尝试创建一个before insert触发器来限制组中的学生数量,我的意思是,如果组中的学生数量大于5,则用户不能在同一组中引入任何其他记录,但他可以在少于5名学生的其他组中引入 在表中,我有以下信息: 因此触发器应该允许在除第二行之外的所有行中添加记录,因为那里已经有5个学生了 我尝试了以下代码: create or replace trigger groups_capacity before insert on s183410_group for each row decl
我使用了docker oracle数据库 我试图导入一个文件dmp,但出现以下错误 docker compose.yml version: '3' services: oracle: image: jaspeen/oracle-xe-11g container_name: oracle11g volumes: - ~/docker/data:/u01/app/oracle jaspeen/oracle-xe-11g ports: -
我正在使用来自Oracle fusion report服务的API,通过将参数值作为参数传递来获取数据。对于较大的报告,通常需要更多的时间。那么,是否有任何方法可以获得总行数或最小记录(如10到100行)仅用于数据预览 尝试的方法: 我已经尝试过这个方法,但是这个API不会考虑参数。 在执行runReport(ReportRequest-ReportRequest,String-userID,String-password)API时,还尝试将sizeOfDataChunkDownload设置为1
这是我第一次与数据库或sqlplus交互,但我在学院里正在学习一门叫做数据库的课程,我们被告知在没有进一步帮助的情况下安装sqlplus,“使用用户SYS和安装过程中选择的密码键入sqlplus”,因此,我按照上面描述的步骤在我的Ubuntu 18.04计算机上安装了它,这是一个向上投票的问题,一切都很顺利,除了我没有被要求写密码,当我尝试教授给我的指令时(用用户SYS键入sqlplus)我发现错误ORA-12162:TNS:net服务名称指定不正确。 经过长时间的阅读,我突然得出结论,我应该导