标签: oracle-sqldeveloper

是否可以在 from 子句用例中使用 when 语句

我正在尝试执行下一个查询:

select * from (case when :p1 = '1' then t1 when :p1=2 then t2);
Run Code Online (Sandbox Code Playgroud)

但这不起作用。我假设 from 子句中不允许使用 when 语句?有没有其他方法可以解决这个问题。谢谢

oracle11g oracle-sqldeveloper

0
推荐指数
1
解决办法
3087
查看次数

“CREATE TABLE”中的正则表达式

我有以下问题:我想用他的 id 和名称创建一个表 Client 。我还想检查“名称”字段是否仅包含字母。这是我的查询:

CREATE TABLE CLIENT(
ID NUMBER PRIMARY KEY, 
FIRST_NAME CHAR(10) CONSTRAINT NAME_CHECK CHECK(REGEXP_LIKE(FIRST_NAME, '^[A-Za-z]*$'))
);
Run Code Online (Sandbox Code Playgroud)

该脚本运行良好,正在创建表。但是下面的 INSERT 语句

INSERT INTO CLIENT VALUES(1, 'BOB');

不起作用。这是错误文本:

INSERT INTO CLIENT
VALUES(1, 'BOB')
Error report -
ORA-02290: check constraint (TASK8.NAME_CHECK) violated
Run Code Online (Sandbox Code Playgroud)

我确信这个错误的原因是相当明显的,但我就是不明白。我以前从未遇到过正则表达式的问题。

提前致谢

regex sql oracle oracle-sqldeveloper

0
推荐指数
1
解决办法
2173
查看次数

在 SQL Developer 中使用 DESCRIBE 获取列及其数据类型的列表时,如何按列名称排序?

我需要一种方法来弄清楚如何在 SQL Developer 中使用 DESCRIBE 命令时获取按字母顺序排列的列列表。类似于 desc 表按名称排序;这当然行不通,但沿着这些思路。

oracle sql-order-by oracle-sqldeveloper

0
推荐指数
1
解决办法
2725
查看次数

如何回滚 Oracle DB 中的所有提交

最近我犯了一个错误,即我的 oracle 数据库中的所有表都被删除(从 SQL Developer 工具运行 drop 命令)在我不知道我在错误的数据库中删除表的所有事务序列中。每次删除一组表时,我都会提交操作。到时候,我意识到我已经删除了错误数据库中的表,我来不及回滚,因为它只回滚了最后一个操作。我也在网上搜索,发现SavePoints是解决方案,但我没有配置savepoints。我在 2 天前备份了所有表,因此,我从那里运行脚本并在过去 2 天内进行了丢失的更改。有没有其他方法可以让我的数据库状态恢复。不过,我已经习惯于在执行此类操作时创建保存点。但是,我仍然很困惑。

database-administration rollback oracle11g savepoints oracle-sqldeveloper

0
推荐指数
1
解决办法
84
查看次数

DATE 和 TODATE 导致未知命令错误的位置

我在使用日期过滤器表达式时遇到问题。我正在使用 SQL Developer 并且在结果底部得到错误的结果和未知的命令错误。

select cmp.company_name, sum (inv.total_price), max (inv.invoice_date)
 from   companies cmp join invc_header inv on cmp.cmp_auto_key = inv.cmp_auto_key
 group by cmp.company_name;
 where inv.invoice_date = '2017-01-27'
Run Code Online (Sandbox Code Playgroud)

我还使用了 where inv.invoice_date = '2017-01-27'

错误是“未知命令”

杰夫

sql oracle oracle-sqldeveloper

0
推荐指数
1
解决办法
57
查看次数

oracle sql Developer中有没有办法同时创建多个用户

我有一群学生,我想授予他们对 Oracle 中设置的特定数据库的学生权限。有没有办法立即执行此操作,或者我只能单独执行此操作?

我有一个包含学生编号的 Excel 电子表格,这是到目前为止我用来单独添加它们的 SQL 代码

CREATE USER S56879 IDENTIFIED BY student
DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp
QUOTA 100M ON users;

GRANT STUDENTROLE TO S56879;
Run Code Online (Sandbox Code Playgroud)

sql oracle oracle-sqldeveloper

0
推荐指数
1
解决办法
367
查看次数

创建表时,SQL Developer 强制大写

在此处输入图片说明当我使用 SQL Developer 创建表时,我的列和表名必须大写。我想使用小写,但我不知道该怎么做。

sql oracle oracle-sqldeveloper

0
推荐指数
1
解决办法
41
查看次数

真实表的表集合

我有下一张桌子:

CREATE TABLE my_table (
  id  VARCHAR2(20 BYTE) NOT NULL,
  name VARCHAR2(40 BYTE) NOT NULL,
  age NUMBER,
  PRIMARY KEY (id, name)
);
Run Code Online (Sandbox Code Playgroud)

我想从my_table创建表集合.填写我的数据.

我尝试:

DECLARE  
  type my_type IS TABLE OF my_table%ROWTYPE;
  my_data my_type := my_type();
BEGIN
  my_data := my_type('1','Jon',5);
END;
Run Code Online (Sandbox Code Playgroud)

结果我得到:

ORA-06550: line 8, column 16:
PLS-00306: wrong number or types of arguments in call to 'my_type'
ORA-06550: line 8, column 16:
PLS-00306: wrong number or types of arguments in call to 'my_type'
ORA-06550: line 8, column 16:
PLS-00306: wrong …
Run Code Online (Sandbox Code Playgroud)

oracle plsql oracle-sqldeveloper

-1
推荐指数
1
解决办法
45
查看次数

Oracle SQL:如何将日期间隔添加到日期?

我想将日期间隔添加到 Oracle SQL 中的日期列表中,即下周的星期一。但是,当我使用建议的date + 1间隔类型时,我遇到了一个非常奇怪的错误,其中只有一天按预期累加,即Wednesday。我在这里做错了什么?这是 Oracle SQL Developer 中的错误吗?

WITH data AS (
    SELECT '29-JAN-23' dt FROM dual UNION
    SELECT '30-JAN-23' dt FROM dual UNION
    SELECT '31-JAN-23' dt FROM dual UNION
    SELECT '01-FEB-23' dt FROM dual UNION
    SELECT '02-FEB-23' dt FROM dual UNION
    SELECT '03-FEB-23' dt FROM dual UNION
    SELECT '04-FEB-23' dt FROM dual UNION
    SELECT '05-FEB-23' dt FROM dual UNION
    SELECT '06-FEB-23' dt FROM dual UNION
    SELECT '07-FEB-23' dt FROM dual UNION
    SELECT '08-FEB-23' …
Run Code Online (Sandbox Code Playgroud)

sql oracle intervals oracle-sqldeveloper

-1
推荐指数
1
解决办法
237
查看次数

ORACLE 1z0-047摘录

这是oracle 1z0-047测试中的问题.

EMPDET是一个包含列EMPNO和的外部表ENAME.哪个命令与EMPDET表有关?

A. UPDATE empdet
SET ename = 'Amit'
WHERE empno = 1234;

B. DELETE FROM empdet
WHERE ename LIKE 'J%';

C. CREATE VIEW empvu
AS
SELECT* FROM empdept;

D. CREATE INDEX empdet_dx
ON empdet(empno);
Run Code Online (Sandbox Code Playgroud)

答案是C.我有一个疑问如下:外表是什么意思?当我尝试运行查询时,所有四个选项都有效.

:)

sql oracle oracle11g oracle-sqldeveloper

-2
推荐指数
1
解决办法
445
查看次数

Oracle不允许创建"USER"表

Oracle不允许创建USER表.

任何人都可以指导我USER在Oracle中创建表.

TIA.

oracle reserved-words oracle-sqldeveloper

-2
推荐指数
1
解决办法
365
查看次数

权限不足,无法创建表

我是Sql Developer的新手,但遇到了这个问题。我建立连接,但是当我尝试创建表时显示错误:

ORA-01031: 权限不足。

我试图找到答案,但没有成功。

请帮忙 在此处输入图片说明

oracle create-table ora-01031 oracle-sqldeveloper

-2
推荐指数
1
解决办法
4606
查看次数