[Q]怎么样加密存储过程 [A]用wrap命令,如(假定你的存储过程保存为a.sql) wrap iname=a.sql PL/SQL Wrapper: Release 8.1.7.0.0 - Production on Tue Nov 27 22:26:48 2001 Copyright (c) Oracle Corporation 1993, 2000. All Rights Reserved. Processing a.sql to a.plb 提示a.sql转换为a.plb,这就是加密了的脚本,执行a.plb即可生成加密了的存储过程
[Q]怎么样在ORACLE中定时运行存储过程 [A]可以利用dbms_job包来定时运行作业,如执行存储过程,一个简单的例子,提交一个作业: VARIABLE jobno number; BEGIN DBMS_JOB.SUBMIT(:jobno, 'ur_procedure;',SYSDATE,'SYSDATE + 1'); commit; END; 之后,就可以用以下语句查询已经提交的作业 select * from user_jobs;
[Q]怎么样从数据库中获得毫秒 [A]9i以上版本,有一个timestamp类型获得毫秒,如 SQL>select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ssxff') time1, to_char(current_timestamp) time2 from dual;
TIME1 TIME2 ----------------------------- ---------------------------------------------------------------- 2003-10-24 10:48:45.656000 24-OCT-03 10.48.45.656000 AM +08:00 可以看到,毫秒在to_char中对应的是FF。 8i以上版本可以创建一个如下的java函数 SQL>create or replace and compile java source named "MyTimestamp" as import java.lang.String; import java.sql.Timestamp;
public class MyTimestamp { public static String getTimestamp() { return(new Timestamp(System.currentTimeMillis())).toString(); } }; SQL>java created. 注:注意java的语法,注意大小写 SQL>create or replace function my_timestamp return varchar2 as language java name 'MyTimestamp.getTimestamp() return java.lang.String'; / SQL>function created. SQL>select my_timestamp,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') ORACLE_TIME from dual; MY_TIMESTAMP ORACLE_TIME