一、应用背景:
PL/SQL是SQL的语言的扩展,是SQL和过程语言整合而成一种语言。在PL/SQL中可以完美的使用SQL语句。
在PL/SQL中,DCL语句不可以直接使用(COMMIT和ROLLBACK除外)。本文介绍如何在PL/SQL中使用DCL语句。
二、DCL:
1、定义:DCL= Data Control Language,是数据控制语言,包括 GRANT、REVOKE、COMMIT、ROLLBACK。
2、作用:系统和对象授权,收权,事务提交,事务回滚。
3、不能使用declare声明的变量
三、PL/SQL中DCL的使用:
语法:
格式:execute immediate 'DCL';
or
commit;
or
rollback;
注意:DCL中的单引号需要转义,如“'”转义为“ ''”。
四、实例应用
1、在PL/SQL中使用GRANT授权给用户:
--set serverout on; 打开服务器输出。
begin
execute immediate 'grant create table to hgx';
end;
执行结果:
PL/SQL procedure successfully completed.
--使用绑定变量
begin
execute immediate 'grant create table to &user_name';
end;
2、在PL/SQL中的使用REVOKE收回权限:
--set serverout on; 打开服务器输出。
begin
execute immediate 'revoke create table from hgx';
end;
begin
execute immediate 'revoke create table from &user_name';
end;
执行结果:
PL/SQL procedure successfully completed.
3、在PL/SQL中的使用COMMIT:
--set serverout on; 打开服务器输出。
begin
execute immediate 'commit'; --此处可以直接使用'commit;
--commit;
end;
执行结果:
PL/SQL procedure successfully completed.
4、在PL/SQL中的使用ROLLBACK:
--set serverout on; 打开服务器输出。
begin
execute immediate 'rollback'; --此处可以直接使用'rollback;
--rollback;
end;
执行结果:
PL/SQL procedure successfully completed.
阅读(302) | 评论(0) | 转发(0) |