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 ......
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.取整(截取)
......
安装
1. 完成RAC安装前的准备工作
1.1 同正常安装Oracle RAC的安装前配置。主要包括以下几个部分:
(1) 软硬件环境检查
(2) 网络配置
(3) 相关用户和目录的创建
(4) 用户环境及系统环境设置
(5) 配置远程访问
(6)  ......