我按照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
这个错我怀疑是我的权限不够产生的,还是我这个代码写的有问题啊?