正如标题所示,我需要重命名一个名为 sys_ 000545 的主键约束,索引名称也具有相同的名称。我怎样才能在oracle pl/sql 中实现这一点?名字是随机的。
我尝试将 alter index 与选择索引名称的子查询一起使用,但 Oracle 不允许这样做。
编辑我需要此重命名作为更新脚本的一部分
我有一个表结构如下:
create table json_tab (id number constraint primary key,d_data clob(30000));
insert into json_tab values (1,'[{"a"=0,"b"=1},{"a"=1,"b"=2},{"a"=2,"b"=3}]');
insert into json_tab values (2,'[{"a"=0,"b"=1},{"a"=1,"b"=2},{"a"=2,"b"=3}]');
Run Code Online (Sandbox Code Playgroud)
我想编写一个查询来获取以下格式的记录。
| ID | A | 乙 |
|---|---|---|
| 1 | 0 | 1 |
| 1 | 1 | 2 |
| 1 | 2 | 3 |
| 2 | 0 | 1 |
| 2 | 1 | 2 |
| 2 | 2 | 3 |
以上是示例数据。实际数据是 JSON 列超过 30000 字节
您好,我想从 Oracle 12C 的 dba_users 中解锁用户列表。
我尝试过:
ALTER USER (SELECT username FROM dba_users WHERE ACCOUNT_STATUS LIKE '%LOCKED%') ACCOUNT UNLOCK;
ERROR at line 1:
ORA-01935: missing user or role name
Run Code Online (Sandbox Code Playgroud)
任何想法 ?或者我必须为每个用户手动执行?
我正在使用 SQL Developer 20.2 运行 Oracle 12c 数据库更新的批处理脚本。我将脚本文件拖放到编辑器窗口中,然后单击“运行脚本 (F5)”按钮。由于某种原因,如果脚本遇到错误(DDL 语句 - 没有显式抛出 PL/SQL 函数),程序就会停止。
例子:
drop sequence my_seq; -- sequence may not exist yet
create sequence my_seq
start with 1
increment by 1
minvalue 1
maxvalue 9999999999
cache 100
cycle;
Run Code Online (Sandbox Code Playgroud)
由于序列不存在,该drop语句可能会出错。SQL*Plus 忽略该错误并继续运行脚本,但 SQL Developer 停止执行,导致补丁更新不完整。
我能做些什么?
我正在努力应对以下异常:
org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [update EVALUATION_SHEET set STATUS=?, LAST_EDITED=? where id=?]; SQL state [99999]; error code [17004]; Invalid column type; nested exception is java.sql.SQLException: Invalid column type
Run Code Online (Sandbox Code Playgroud)
这是扔在这里:
jdbcTemplate.update("update E_SHEET set STATUS=?, LAST_EDITED=? where id=?",
new Object[]{eSheet.getStatus().ordinal(), eSheet.getLastEditDate(), eSheet.getId()},
new Object[]{OracleTypes.NUMBER, OracleTypes.TIMESTAMP, OracleTypes.NUMBER});
Run Code Online (Sandbox Code Playgroud)
数据库表创建如下:
create table E_SHEET (
ID number not null unique,
ID_POSITION number not null,
STATUS number default 0 not null,
ID_EXAMINER number not null,
LAST_EDITED timestamp not null);
Run Code Online (Sandbox Code Playgroud)
我不知道是什么导致了这个问题.这个方法:
eSheet.getLastEditDate()
Run Code Online (Sandbox Code Playgroud)
返回java.util.Date对象.我使用Spring JDBC模板和Spring DB以及Oracle DB …
我只需要在PL/SQL代码中运行一个基本的SELECT查询.以下代码完美无缺:
BEGIN
EXECUTE IMMEDIATE 'SELECT * FROM ' || 'TNAME';
END;
/
Run Code Online (Sandbox Code Playgroud)
但是遵循代码
BEGIN
EXECUTE IMMEDIATE 'SELECT * FROM :1' USING 'TNAME';
END;
/
Run Code Online (Sandbox Code Playgroud)
提出错误说
ORA-00903:表名无效
ORA-06512:第2行
*原因:
*行动:
我不能以任何方式使用"USING"传递表名吗?
我在包内有以下程序:
PROCEDURE test1
IS
InsertST varchar2(32000) : = 'INSERT INTO tableA (col1, col2)
(select cola,
INITCAP(REPLACE(colX, '_', ''))
from tableB))';
Begin
execute immediate InsertST;
END
Run Code Online (Sandbox Code Playgroud)
在编译期间我收到错误:
错误(1177,45):PLS-00103:遇到以下其中一项时遇到符号"_":*&= - +; </> at in是mod的余数不是rem <>或!=或〜=> = <= <>和/或类似like2 like4 likec之间的|| 成员submultiset
东西是错误的"_"内部功能:INITCAP(REPLACE(colX, '_', ''))
怎么解决?也许是其他方式?
我刚刚完成了Oracle Fusion Middleware 12c的全新安装.这个附带了新版本的Weblogic 12.2.1.3.0.每当我尝试创建新的JDBC连接时,我都会收到以下错误.
<BEA-240003> <Administration Console encountered the following error: java.sql.SQLException: Could not establish a connection because of java.lang.IllegalArgumentException: ONS configuration failed
at weblogic.jdbc.common.internal.DataSourceUtil.testConnection0(DataSourceUtil.java:423)
at weblogic.jdbc.common.internal.DataSourceUtil.access$000(DataSourceUtil.java:24)
at weblogic.jdbc.common.internal.DataSourceUtil$1.run(DataSourceUtil.java:285)
at java.security.AccessController.doPrivileged(Native Method)
at weblogic.jdbc.common.internal.DataSourceUtil.testConnection(DataSourceUtil.java:282)
at com.bea.console.utils.jdbc.JDBCUtils.testConnection(JDBCUtils.java:937)
at com.bea.console.actions.jdbc.datasources.creategridlinkdatasource.CreateGridLinkDataSource.testJDBCConnection(CreateGridLinkDataSource.java:615)
at com.bea.console.actions.jdbc.datasources.creategridlinkdatasource.CreateGridLinkDataSource.testRACConnectionConfiguration(CreateGridLinkDataSource.java:437)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.beehive.netui.pageflow.FlowController.invokeActionMethod(FlowController.java:870)
at org.apache.beehive.netui.pageflow.FlowController.getActionMethodForward(FlowController.java:809)
at org.apache.beehive.netui.pageflow.FlowController.internalExecute(FlowController.java:478)
at org.apache.beehive.netui.pageflow.PageFlowController.internalExecute(PageFlowController.java:306)
at org.apache.beehive.netui.pageflow.FlowController.execute(FlowController.java:336)
at org.apache.beehive.netui.pageflow.internal.FlowControllerAction.execute(FlowControllerAction.java:52)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.access$201(PageFlowRequestProcessor.java:97)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor$ActionRunner.execute(PageFlowRequestProcessor.java:2044)
at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.continueChain(ActionInterceptors.java:64)
at org.apache.beehive.netui.pageflow.interceptor.action.ActionInterceptor.wrapAction(ActionInterceptor.java:184)
at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.invoke(ActionInterceptors.java:50)
at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors$WrapActionInterceptorChain.continueChain(ActionInterceptors.java:58)
at org.apache.beehive.netui.pageflow.interceptor.action.internal.ActionInterceptors.wrapAction(ActionInterceptors.java:87)
at org.apache.beehive.netui.pageflow.PageFlowRequestProcessor.processActionPerform(PageFlowRequestProcessor.java:2116) …Run Code Online (Sandbox Code Playgroud) 我想要一个像这样的查询(这不起作用!)
select * from foo where rownum < 10 having distinct bar
Run Code Online (Sandbox Code Playgroud)
含义我想从列栏中的十个随机行中选择具有不同值的所有列.如何在Oracle中执行此操作?
这是一个例子.我有以下数据
| item | rate |
-------------------
| a | 50 |
| a | 12 |
| a | 26 |
| b | 12 |
| b | 15 |
| b | 45 |
| b | 10 |
| c | 5 |
| c | 15 |
Run Code Online (Sandbox Code Playgroud)
结果将是例如
| item no | rate |
------------------
| a | 12 | …Run Code Online (Sandbox Code Playgroud) Oracle DB版本:
SELECT * FROM v$version
WHERE banner LIKE 'Oracle%';
-- OUTPUT
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用两个条件外连接三个表,以便缺少值只显示为.请参阅以下详细信息.NULL
下表是抽象,因此请不要尝试改进数据模型本身.
主键= ID
| ID | MEAS_NAME |
|------|-----------------|
| 1000 | "Measurement 1" |
Run Code Online (Sandbox Code Playgroud)
主键=(ID,NAME)
外键ID=MEASUREMENT.ID
| ID | NAME | AREA |
|------|-----------|------|
| 1000 | "Point 1" | 10 |
| 1000 | "Point 2" | 20 …Run Code Online (Sandbox Code Playgroud) oracle12c ×10
oracle ×6
sql ×6
java ×2
plsql ×2
function ×1
jdbc ×1
package ×1
spring ×1
spring-boot ×1
spring-jdbc ×1
weblogic12c ×1