1.会话级别的变量只在在当前会话中可见,当次会话结束的时候次变量也便随之消失,但是当数据库是长连接的时候
慎用使用此种方法声明变量,因为长连接数据库的会话是不会掉的一直和数据库保持连接
当我们使用会话级别的变量的时候注意要在变量前面加上引号
会话级别的变量我们也可以在存储过程中使用,同样使用的时候我们也需要前面加:号来表明这时会话级别的变量
SQL> variable temp_var varchar2(10);
SQL> call test_fuc('lzp') into :temp_var;
Method called
temp_var
---------
lzp
存储过程中使用会话级别的变量
create or replace procedure test(id in number) is
begin
:temp_var := id;
end;
2.5 事物的作用域
1.事物的作用域是一个执行线程--进程。当连接至oracle时数据库会建立一个会话。控制会话的能力取决于3个命令。他们以前被称为事物控制语言,现在也有将其
称之为数据库控制语言,DDL commit and savepoint and rollback
单事物的作用域
举例
declare
id number;
name varchar2(100);
begin
savepoint new_member;
inser into test values(id,name);
insert into test values(id,name);--当test表格的id字段有唯一约束的时候就会引发exception这时就会回滚
exception
when others then
rollback to new_member;
end;
--多事物作用域
有些业务要求独立工作,运行于分离的事物作用域中。这时我们可以使用自治事物来解决,pragma autonomous_transaction
--数据库的触发器
DDL触发器:当在数据库中创建删除表格的时候会触发
DML触发器:当向表格中插入删除数据的时候便会触发。
复合触发器:可以判断多种操作,insert and delete等。
instead of触发器:这些触发器可用于停止DML语句的执行并重定向DML语句。此触发器通畅用于管理视图。
系统或数据库时间触发器:当数据库中发生系统活动时引发这些触发器。
--变量的缓冲区
当我们使用plsql缓冲区的时候
dbms_output.enable(1000);--启用缓冲区
setserveroutput on--打开缓冲区
当然我们在启用缓冲区的时候最好是先使用
dbms_output.disable;--来清除缓冲区以前的内容。然后在使用
dbms_output.enable(10000)--重新启用缓冲区。
--oracle数据类型
is empty --次属性用来检查集合或者table类型的数据类型是否是空。
member of 用来检查是否是某个集合的成员
submultiset--用来检查某个集合是否是另一个集合的子集
慎用使用此种方法声明变量,因为长连接数据库的会话是不会掉的一直和数据库保持连接
当我们使用会话级别的变量的时候注意要在变量前面加上引号
会话级别的变量我们也可以在存储过程中使用,同样使用的时候我们也需要前面加:号来表明这时会话级别的变量
SQL> variable temp_var varchar2(10);
SQL> call test_fuc('lzp') into :temp_var;
Method called
temp_var
---------
lzp
存储过程中使用会话级别的变量
create or replace procedure test(id in number) is
begin
:temp_var := id;
end;
2.5 事物的作用域
1.事物的作用域是一个执行线程--进程。当连接至oracle时数据库会建立一个会话。控制会话的能力取决于3个命令。他们以前被称为事物控制语言,现在也有将其
称之为数据库控制语言,DDL commit and savepoint and rollback
单事物的作用域
举例
declare
id number;
name varchar2(100);
begin
savepoint new_member;
inser into test values(id,name);
insert into test values(id,name);--当test表格的id字段有唯一约束的时候就会引发exception这时就会回滚
exception
when others then
rollback to new_member;
end;
--多事物作用域
有些业务要求独立工作,运行于分离的事物作用域中。这时我们可以使用自治事物来解决,pragma autonomous_transaction
--数据库的触发器
DDL触发器:当在数据库中创建删除表格的时候会触发
DML触发器:当向表格中插入删除数据的时候便会触发。
复合触发器:可以判断多种操作,insert and delete等。
instead of触发器:这些触发器可用于停止DML语句的执行并重定向DML语句。此触发器通畅用于管理视图。
系统或数据库时间触发器:当数据库中发生系统活动时引发这些触发器。
--变量的缓冲区
当我们使用plsql缓冲区的时候
dbms_output.enable(1000);--启用缓冲区
setserveroutput on--打开缓冲区
当然我们在启用缓冲区的时候最好是先使用
dbms_output.disable;--来清除缓冲区以前的内容。然后在使用
dbms_output.enable(10000)--重新启用缓冲区。
--oracle数据类型
is empty --次属性用来检查集合或者table类型的数据类型是否是空。
member of 用来检查是否是某个集合的成员
submultiset--用来检查某个集合是否是另一个集合的子集
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26509390/viewspace-1399617/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26509390/viewspace-1399617/