Oracle PL/SQL 常用关键字

最近在看《Oracle PL/SQL 从入门到精通》,把看到的觉得不太熟悉的关键字记录了下来,以备查用。未完待续,后期继续增加。

constant 常量
:= 赋值
%TYPE 与数据库列相同数据类型
%ROWTYPE 与数据库行相同数据类型
declare 声明
begin...end  代码块
if...then...elsif...then...elsif...then...else...end if  分支结构
if..then..else...end if   分支结构
case virable...when...then..when...then...else...end case 分支结构
loop...if...exit...end if. end loop 循环结构
loop...exit when...end loop 循环结构
continue 跳过本次执行,进入下一次
loop...continue when...end loop 按条件跳过循环中的某一次执行
while...loop...end loop 循环结构
for i in ...loop..end loop 循环结构(计数器i不用声明)
goto 任意跳转至指定语句(存在一些约束,尽量少用)
null 不做任何操作的语句
chr(13) 回车
chr(10) 换行
loop...end loop 循环结构
&virable 此变量需要指定(手动输入)
|| 连接符

create table B as select * from A 复制表A(包含数据)
create table B as select * from A where 1 = 2 复制表A(不包含数据)
constraint 约束,用于创建表时候
check...(可使用各种逻辑运算符和函数)... 检查是否满足指定条件,创建表时候用
alter table A enable constraint_name 启用表A中的某个约束
alter table A disable constraint_name 禁用表A中的某个约束
alter table A add constraint...在表A中增加约束
alter table A drop constraint_name 在表A中删除约束
alter index old_index_name rename to new_index_name 修改索引名称
alter index index_name coalesce 合并索引
alter index index_name rebulid 重建索引

dual表   所有用户可用的实际存在的一张表,不能存储信息
rownum 一个伪列,系统给符合条件的结果添加的序列号,动态的
rowid 一个伪列,唯一标识一条记录的物理地址的ID,静态的
inner join ...on... ANSI格式内连接
x....=y....  Oracle格式内连接
table1 = table2 (+) Oracle格式左连接
table1(+) = table2  Oracle格式右连接,加号在哪边就是用哪边的数据去匹配另一个表的数据
table1 left outter join table2 ANSI格式左连接,返回table2全部数据
table1 right outter join table2 ANSI格式右连接,返回table1全部数据
table1 full outter join table2   ANSI格式全连接,返回table1  table2 全部数据
from table1,table2 Oracle格式交叉连接
table1 cross join table2 ANSI格式交叉连接
insert first/all
	when condition1 into.....
	when condition2 into.....
	else into....
subquery;                           一次插入多表

merge into  target_table 
using source_table/view/subquery
on (conditon)
when matched then update.....
when  not matched then insert....     存在就update,不存在就插入

truncate 删除整张表数据
sequence 序列,用来为数据库中的表提供一串唯一值的数字

declare 
    type type_name is record(.......);  声明记录类型,是类型,数据类型.记录是一种单行多列的数据结构

set row = .....    直接操纵整行数据,不用每一列操作
variable  table_name%rowtype 把表中一整行的数据类型直接复制过来,不用一个个列去设置
variable2 variable1%type  variable2使用与variable1相同的数据类型
variable   table_name.col_name%使用与表中某一列相同的数据类型
returning ...into table_name  返回值并写入某张表
type name1 is table of xxx index by yyyy 定义索引表(xxx,yyyy是数据类型)
type name1 as table of xxx 定义嵌套表(xxx是数据类型)
savepoint savepoint_name   定义保存点
raise  exception_name  可在一定条件下唤起也就是抛出你设定的异常
when exception_name1 or  exception_name2 then...when others then.....对于指定错误的处理
desc table_name 查看所有字段名
select * from user_tab_columns where Table_Name='用户表'; 查看所有字段



  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: pl/sql: statement ignored 表示 PL/SQL 语句被忽略。这通常是由于语法错误或语句不完整导致的。需要检查语句是否正确,并确保所有必需的关键字和符号都已包含在内。如果语句正确,但仍然被忽略,则可能需要检查是否存在其他错误或问题。 ### 回答2: 当在PL/SQL程序中遇到"PL/SQL: statement ignored"的错误提示时,往往表示在PL/SQL块中的一条语句被忽略了。这可能是由于一些常见问题导致的。 首先,可能是由于语句末尾缺少了分号。在PL/SQL中,每条语句都应以分号结尾,如果忘记了分号,编译器会忽略该语句,出现"PL/SQL: statement ignored"的错误提示。请检查语句末尾是否有分号,并添加分号来解决此问题。 另外,也有可能是由于变量或表名拼写错误。在PL/SQL程序中,如果引用了不存在的变量或表名,编译器会将相关的语句忽略,并给出相应的错误提示。请检查程序中使用的所有变量和表名的拼写是否正确,并对错误的拼写进行纠正。 此外,还有可能是由于使用了不受支持的语句或功能。在PL/SQL中,某些特定的语句或功能可以不被支持,并可能导致"PL/SQL: statement ignored"的错误提示。请检查程序中使用的语句或功能是否在PL/SQL中受支持,根据需要进行修改或替换。 总结起来,当出现"PL/SQL: statement ignored"的错误提示时,我们应该首先检查语句末尾是否有分号,然后检查变量或表名的拼写是否正确,最后确保使用的语句或功能在PL/SQL中受支持。通过这些步骤的检查和纠正,可以解决这个错误。 ### 回答3: "PL/SQL: statement ignored"是Oracle数据库中的一个错误提示信息。当我们在PL/SQL编程中遇到这个错误时,意味着Oracle无法正确解析或执行我们的语句。 导致"PL/SQL: statement ignored"错误的原因可能有很多。以下是一些常见的情况: 1. 语法错误:通常,这个错误提示意味着我们的PL/SQL语句存在语法错误。可能是拼写错误、缺少关键字、丢失括号等。我们需要仔细检查我们的代码并修正这些错误。 2. 对象不存在:当我们在PL/SQL语句中引用一个不存在的表、视图、包、过程或函数时,Oracle会报错。我们需要确保我们所引用的对象确实存在,并且我们具有访问权限。 3. 变量或参数问题:有时,我们的PL/SQL语句可能包含对不存在的变量或参数的引用。我们需要仔细检查我们的代码并确保所有的变量和参数都已正确定义。 4. 权限问题:如果我们试图在没有足够权限的情况下执行某个操作(如更新表、执行存储过程等),Oracle会报错。我们需要确保我们具有执行所需操作的必要权限。 解决"PL/SQL: statement ignored"错误的方法有以下几个步骤: 1. 仔细检查代码,确保没有语法错误或拼写错误。 2. 确保我们引用的对象存在,并且我们具有访问权限。 3. 检查所有的变量和参数,并确保它们被正确定义。 4. 确保我们具有执行所需操作的必要权限。 总之,"PL/SQL: statement ignored"错误提示表示我们的PL/SQL语句存在问题,需要仔细检查和修正。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值