oracleʵÏÖ°ó¶¨in×Ö·û´®
1.½¨Á¢´æ·Å×Ö·û´®µÄÊý×éÀàÐÍ
create or replace type Type_bind as table OF VARCHAR2(4000)
2.½¨Á¢½«×Ö·û´®×ª³ÉÊý×éÈ»ºó·µ»Ø¸øType_bindº¯Êý¡£
CREATE OR REPLACE FUNCTION F_PUB_BIND_IN(p_bind IN VARCHAR2)
RETURN TYPE_BIND AS
/*
´´½¨Ê±¼ä:2008-8-26
ÔËÐÐÖÜÆÚ:
Éæ¼°µÄ±í:
º¯Êý¼òÊö:
ΪÁË´øINµÄÌõ¼þ,ʹÓð󶨱äÁ¿, °Ñ×Ö·û´®×ª³É±íÀàÐÍ
Èë²ÎΪ()ÖеÄÖµ,Èç:(1,2,3,4)Ôò´«Èë'1,2,3,4'
SELECT * from TABLE(F_PUB_BIND('66561000,62693920')) Ò²¿Éµ÷ÓÃ
ÐÞ¸ÄÀú³Ì:
1.
*/
--ÍùÈë²ÎµÄºóÃæ¼ÓÈ붺ºÅ,±ãÓÚ·Ö¸î
v_SqlStr LONG DEFAULT p_bind || ',';
--Öмä±äÁ¿
v_Tmp NUMBER;
--·Ö¸îºóµÄÖµ
v_Data TYPE_BIND := TYPE_BIND();
BEGIN
LOOP
v_Tmp := INSTR(v_SqlStr, ',');
EXIT WHEN(NVL(v_Tmp, 0) = 0);
--À©Õ¹Êý×é´óС
v_Data.EXTEND;
/* dbms_output.put_line(v_Data.COUNT);*/
v_Data(v_Data.COUNT) := to_number(SUBSTR(v_SqlStr, 1, v_Tmp - 1));
v_SqlStr := SUBSTR(v_SqlStr, v_Tmp + 1);
END LOOP;
RETURN v_Data;
END F_PUB_BIND_IN;
3.ʵÏְ󶨵ÄÓï·¨¡£
UPDATE DW.TASK_SMS_LIST P
SET P.STATE = 'X'
WHERE P.SMS_SEQ_ID in
(select COLUMN_VALUE
from the(select cast(F_PUB_BIND_IN(V_SMS_SEQ_ID) as type_bind)
from dual));
V_SMS_SEQ_ID Èç'1,2,3,4..'¸ñʽ
Ïà¹ØÎĵµ£º
1¡¢´´½¨±í£º
create table stud(
sid int,
sname varchar2(50)
)
²¢²åÈëÒ»ÌõÊý¾Ý
&n ......
¡¡¡¡1.¾ø¶ÔÖµ
¡¡¡¡S:select abs(-1) value
¡¡¡¡O:select abs(-1) value from dual
¡¡¡¡2.È¡Õû(´ó)
¡¡¡¡S:select ceiling(-1.001) value
¡¡¡¡O:select ceil(-1.001) value from dual
¡¡¡¡3.È¡Õû£¨Ð¡£©
¡¡¡¡S:select floor(-1.001) value
¡¡¡¡O:select floor(-1.001) value from dual
¡¡¡¡4.È¡Õû£¨½ØÈ¡£©
¡¡¡¡ ......
ÏîÄ¿ÖÐÓÐÉæ¼°´æ´¢¹ý³Ì¶Ô×Ö·û´®µÄ´¦Àí£¬ËùÒԾͽ«ÔÚÍøÉϲéÕÒµ½µÄ×ÊÁÏ»ã×Ü£¬×öÒ»¸öÐÅϢƴ½ÓʽµÄ×ܽᡣ
ÒÔÏÂÐÅÏ¢¾ùÀ´×Ô»¥ÁªÍø£¬Ìù³öÀ´Ò»Ôò×Ô¼º±£´æÒÔ´ýÒÔºóʹÓã¬Ò»Ôò¹©´ó¼Ò·ÖÏí¡£
×Ö·ûº¯Êý——·µ»Ø×Ö·ûÖµ
ÕâЩº¯ÊýÈ«¶¼½ÓÊÕµÄÊÇ×Ö·û×åÀàÐ͵IJÎÊý(CHR³ýÍâ)²¢ÇÒ·µ»Ø×Ö·ûÖµ.
³ýÁËÌرð˵Ã÷µÄÖ®Íâ,ÕâЩº¯Êý´ó²¿·Ö·µ» ......
´Óoracle8µ½oracle10£¬JDBCĿ¼ÏµÄÇý¶¯°ü¶¼¸÷Óв»Í¬¡£¿´ÁËÒ»ÏÂoracleµÄÎĵµËµÃ÷£¬Á˽âÁËÒ»ÏÂËüÃǵÄÓÃ;£¬ÏàÐÅ´ó¼ÒÓÐʱºòÒ²ºÜÃÔ»ó£¬Ð´³öÀ´¹²Ïíһϡ£
ÕâЩÊÇoracle10gϵÄÇý¶¯°üµÄÃû³ÆºÍËüÃǵÄ×÷Óã¬ÆäËû°æ±¾µÄoracle»ù±¾ÀàËÆ¡£
Ö§³ÖËùÓÐƽ̨µÄJDBC ThinÇý¶¯
classes12.jar (1,417,089 bytes) - JDK 1.2 ºÍ JDK 1.3ÏÂÊ¹Ó ......