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¡¢´´½¨±í
create table stud(
sid int,
sname varchar2(50),
age number,
score number(4,2))
²¢²åÈëһЩÊý¾Ý£¨×Ô¼ºÊÖ¶¯²åÈëһЩ°É£©
2¡¢´´½¨º¯Êý
create or replace function fun_getScores(
v_age in stud.age%type
)
return number
is ......
ÔÚÎÒ¿ª·¢BS½á¹¹³ÌÐòÖУ¬ÓÉÓÚ¾³£ÐèÒªÔÚORACLEÖд¦ÀíһЩÈÝÁ¿½Ï´óµÄÎı¾Êý¾Ý£¬ËùÒÔ¾¹ý·´¸´²âÊÔÖÕÓÚÓÃASP³É¹¦½â
¾öÁË´óÎı¾Êý¾ÝÔÚORACLEÏ´æÈ¡ÎÊÌâ¡£
¡¡¡¡
¡¡¡¡Ò»¡¢ÔËÐл·¾³£º
¡¡¡¡1¡¢Microsoft Windows 2000 Server + IIS 5.0
2¡¢Oracle8iÖÐÎıê×¼°æ
¡¡¡¡
¡¡¡¡¶þ¡¢½¨Á¢Êý¾Ý±í£º
¡¡¡¡CREATE TABLE SYSTEM.TEST(
B ......
ÏîÄ¿ÖÐÓÐÉæ¼°´æ´¢¹ý³Ì¶Ô×Ö·û´®µÄ´¦Àí£¬ËùÒԾͽ«ÔÚÍøÉϲéÕÒµ½µÄ×ÊÁÏ»ã×Ü£¬×öÒ»¸öÐÅϢƴ½ÓʽµÄ×ܽᡣ
ÒÔÏÂÐÅÏ¢¾ùÀ´×Ô»¥ÁªÍø£¬Ìù³öÀ´Ò»Ôò×Ô¼º±£´æÒÔ´ýÒÔºóʹÓã¬Ò»Ôò¹©´ó¼Ò·ÖÏí¡£
×Ö·ûº¯Êý——·µ»Ø×Ö·ûÖµ
ÕâЩº¯ÊýÈ«¶¼½ÓÊÕµÄÊÇ×Ö·û×åÀàÐ͵IJÎÊý(CHR³ýÍâ)²¢ÇÒ·µ»Ø×Ö·ûÖµ.
³ýÁËÌØ±ð˵Ã÷µÄÖ®Íâ,ÕâЩº¯Êý´ó²¿·Ö·µ» ......
ÔÚOracle¹ØÓÚʱ¼äÊôÐԵĽ¨±í
Example:
create table courses(
cid varchar(20) not null primary key,
cname varchar(20) not null,
ctype integer,
ctime date DEFAULT SYSDATE,
cscore float not null
)
insert into courses values('ss01','.NET',0,TO_DATE('2009-8-28','yyyy-mm-dd'),94)
insert into course ......