鉴于java相比oracle procedure 更为强大的计算能力,呵呵,个人认为哈
梳理一下这个不太常用的java source。
CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED helloworld
AS
public class helloworld {
public static void db_run (){
system.out.println( 'hello world');
}
}
AS
public class helloworld {
public static void db_run (){
system.out.println( 'hello world');
}
}
--ORA-00904: "SYS"."DBMS_JAVA"."SHORTNAME": invalid identifier
这是什么提示啊?不太对吧
处理办法:
SQL> set echo on
SQL> spool jvminst.log
SQL> @?/javavm/install/initjvm.sql;
SQL> spool off
SQL> set echo on
SQL> spool jvminst.log
SQL> @?/javavm/install/initjvm.sql;
SQL> spool off
------------------------------------------------------------------------------------------
一、创建java source
一、创建java source
SQL> CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED GETTIMESTAMP
2 as
3 import java.lang.String;
4 import java.sql.Timestamp;
5 import java.text.SimpleDateFormat;
6 public class timestamptest
7 {
8 public static String gettimestamp() {
9 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 定义格式,不显示毫秒
10 Timestamp now = new Timestamp(System.currentTimeMillis());// 获取系统当前时间
11 return df.format(now);
12 }
13 };
14 /
2 as
3 import java.lang.String;
4 import java.sql.Timestamp;
5 import java.text.SimpleDateFormat;
6 public class timestamptest
7 {
8 public static String gettimestamp() {
9 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 定义格式,不显示毫秒
10 Timestamp now = new Timestamp(System.currentTimeMillis());// 获取系统当前时间
11 return df.format(now);
12 }
13 };
14 /
------------------------------------------------------------------------------------------
二、创建Oracle过程或函数来指定调用特定的Java Source
SQL> CREATE OR REPLACE FUNCTION MyTimeStamp RETURN VARCHAR2 IS
2 LANGUAGE JAVA NAME 'timestamptest.gettimestamp() return java.lang.String';
3 /
2 LANGUAGE JAVA NAME 'timestamptest.gettimestamp() return java.lang.String';
3 /
Function created.
------------------------------------------------------------------------------------------------
三、调用Oracle过程或函数
三、调用Oracle过程或函数
SQL> select MyTimeStamp,to_char(sysdate,'yyyy-mm-dd') ORACLE_TIME from dual;
MYTIMESTAMP
--------------------------------------------------------------------------------
ORACLE_TIME
---------------------------------------------------------------------------
2011-06-20 21:30:01
2011-06-20
--------------------------------------------------------------------------------
ORACLE_TIME
---------------------------------------------------------------------------
2011-06-20 21:30:01
2011-06-20
注意:
严格遵守大小写,建议在eclipse中完成java source部分的编写,避免在toad中编写使用格式化工具。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13726712/viewspace-700334/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/13726712/viewspace-700334/