存储过程3

来源:互联网 发布:黄帝大战蚩尤电影知乎 编辑:程序博客网 时间:2024/06/07 01:52

如何对存储过程进行加密

使用oracle的工具wrap可以实现对存储过程的加密,是别人无法看到存储过程的内容,加密后的内容无法解密,所以一定要保存好创建存储过程的源代码
1,创建wrap_test.sql文件,这个文件包含创建存储过程wraptest的脚本
create procedure wraptest is
begin
dbms_output.put_line('wrap successfully');
2,使用wrap对存储过程进行加密
$wrap iname =/wxxr/wrap_test.sql
其中iname指定输入文件,wrap命令会输出一个新的文件,这个输出文件可以使用参数oname指定其路径及名字:如果没有指定参数oname,wrap在当前路径下生成和输入文件名字相同但后缀不同(.plb)的文件
3,运行wrap生成的文件wrap_test.plb
SQL>@/wxxr/wrap_test.plb;

怎样在创建存储过程时,显示编译错误

创建存储过程时,如果有编译错误,oracle并不会显示编译错误的详细信息。但是可以用show error命令查看编译错误的详细信息,以对存储过程进行调试

如何在存储过程中调用存储过程

假设本有一个存储过程processdure1
create or replace procedure procedure2
is
begin
procedure1;
end;
存储过程procedure2将调用procedure1;

如何在存储过程中创建视图

1,创建存储过程
create or replace procedure p1
is
sql_string varchar2(500);
begin
sql_string :='create view v2 as select * from students';--创建视图的SQL语句
execute immediate sql_string; --执行SQL语句,创建视图v2
end;
2,执行存储过程 execute p1;
3,查看存储过程是否成功创建 desc v2如果创建失败执行desc会提示该视图不存在

在存储过程中,如何访问远程数据库

在存储过程中,使用数据库连接,可以访问另外一个数据库的数据
create or replace procedure get_name
is
v_name varchar2(20);
begin
select name into v_name
from students@remote_dblink
where id =1;
dbms_output.put_line('student name is:'||v_name);
end;
存储过程get_name访问了远程数据库上的表students,@表示访问远程数据库;remote_dblink是数据库连接的名字,数据库连接remote_dblink是通过create database link..命令创建的

如何在存储过程中使用TRUNCATE

1通过动态语句可以实现在存储过程中调用truncate
create or replace procedure p
is
sql_string varchar2(500);
begin
sql_stirng :='TRUNCATE table b'; --truncate表b的SQL语句
execute immediate sql_string; --执行SQL语句
end;
2执行存储过程

0 0
原创粉丝点击