我按照tom先生的例子在自己的环境下试了一下
SQL> set serveroutput on
SQL> begin
2 for x in(select dev_id from zzdt where dev_id = '1022')
3 loop
4 dbms_output.put_line('dev_id:'||x.dev_id);
5 dbms_output.put_line('hash:'||dbms_crypto.Hash(utl_raw.cast_to_raw(x.dev_id),dbms_crypto.HASH_SH1));
6 end loop;
7 end;
8 /
结果他报
ORA-06550: line 6, column 31:
PLS-00201: identifier 'DBMS_CRYPTO' must be declared
ORA-06550: line 6, column 1:
PL/SQL: Statement ignored
这个错
我怀疑是我的权限不够产生的,还是我这个代码写的有问题啊?
------解决方案--------------------
可能当前登录用户权限不够,不能调用dbms_crypto这个包。