Oracel sql基础常见问题

Oracel sql基础常见问题

1.1问题:日期函数的使用 ,无效月份的问题

1.2解决方案:需要更改
ALTER SESSION SET nls_date_language=‘american’;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S37exh9m-1615708309051)(en-resource://database/1896:1)]

2.1问题:如何将date类型更改为数字?

2.2解决方案:to_number(to_char(st.D_LASTMODIFY,‘YYYYMMDD’))

3.1问题:创建时有missing expression问题

3.2解决方案:
(1)缺失逗号,关键词等细节问题;
(2) 规范性: 需要注意的是:references 后关联的必须是主键;[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kWdqDH6Z-1615708309056)(en-resource://database/1902:1)]

4.1问题:自己修改了主机名导致dbeaver/PLSQLDE找不到数据库怎么办?

plsqlde 连接的数据库名: ip地址:1521/orcl(数据库的名字用自己命名的,我当初没有修改oracle默认的名称)
在这里插入图片描述

4.2 dbeaver 解决方案:根据csdn的博主们意见,修改oracle安装目录里的listener.ora 文件host主机名,解决

5.1问题:更新date提示报错

5.2 解决方案:(1)Oracle对大小写不敏感,所以在规定格式时不要重复之前已经有的命名;

6.1问题:(1)相关子查询的结果 single-row subquery returns more than one row

解决方案:返回多值结果,我们可以用IN,ANY, ALL, IN, or NOT IN 来接收结果

6.2问题: ( 2 ) missing expressions

解决方案:情况一,缺少关键词,比如select 后的内容 情况二,缺少来源,比如from后面。
1 - When you forget list of the column names in your SELECT statement. 2. When you omit the FROM clause of the SQL statement.

7.1 问题:(1)跟着文档操作误删除数据

解决方案:使用闪回
flashback TABLE employees TO timestamp to_timestamp(‘2021-03-13 14:00:00’,‘yyyy-mm-dd hh24:mi:ss’);
并且需要更改列移动
ALTER TABLE EMPLOYEES enable ROW movement;

8.1(1)问题:视图不适用此处

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aTpu4JKl-1615708309059)(en-resource://database/1924:1)]

解决方案:多表插入数据时:SQL Error [1702] [42000]: ORA-01702: a view is not appropriate here

我们在查询视图的时候可以查得到内容,但是视图本身不负责存储数据。 解决方案: 删除视图,改为创建表
CREATE TABLE sal_history
AS SELECT e.EMPLOYEE_ID ,e.LAST_NAME ,e.SALARY
FROM EMPLOYEES e
WHERE e.DEPARTMENT_ID =3;
DROP VIEW sal_history;
CREATE TABLE mgr_history
AS SELECT e.EMPLOYEE_ID ,e.DEPARTMENT_ID ,e.SALARY
FROM EMPLOYEES e
WHERE e.DEPARTMENT_ID =3;
DROP VIEW mgr_history;O

8.2(2) ORA-00922: missing or invalid option i

问题原因:标点符号或者关键词的缺失
解决方案:下面举例 注意创建表是没有value的!!
values

8.3(3)问题:缺少右括号: ORA-00907: missing right parenthesis

8.4(4)问题:数据量是否足够充足?此张创建的外表没有导入数据,查询内容不便

在这里插入图片描述

8.5(5)问题: ①第 7 行, 第 2 列: PLS-00103: 出现符号 "X"在需要下列之一时::= . ( @ % ;符号 ":=在 "X"继续之前已插入。ORA-06550: 第 12 行, 第 2 列:PLS-00103: 出现符号 " 出现符号 "X"在需要下列之一时

    解决方案:**不要用形式  x number (6) :=100 ; 
                    请使用该格式 x number :=100  ;**

8.5.2 ② PLS-00103: 出现符号 ":"在需要下列之一时::= . ( @ % ;

    解决方案:           
    **:=需要连在一起**              例如 *x:= x+10;*

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值