oracle实现绑定in字符串
来源:互联网 发布:大学java课程设计题目 编辑:程序博客网 时间:2024/06/01 13:49
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..'格式
- oracle实现绑定in字符串
- ORACLE in (字符串,字符串,字符串)
- oracle in 中绑定变量
- oracle处理in(字符串,字符串,字符串)
- In和oracle绑定变量机制
- ORACLE中对in操作使用变量绑定的方法
- 怎么对IN子查询使用绑定变量(oracle)
- Oracle绑定变量带in参数的写法
- ORACLE 实现行转列(字符串求和)
- ORACLE实现字符串分割SPLIT
- oracle in 超过1000 ,mybatis实现
- 解决Oracle in 超过1000个问题 C#拼接字符串
- oracle 拆分逗号分隔字符串 实现split
- oracle实现字符串分割函数 split()函数
- oracle 拆分逗号分隔字符串 实现split
- 字符串填充。MSSQL实现oracle中lpad
- ORACLE 分割字符串的函数实现
- oracle REGEXP_SUBSTR实现字符串转列
- windows 中 cmd下的乱码
- C#程序设计及其应用
- js技巧
- Socket编程 C#版
- 《大型门户网站是这样炼成的!(Struts 2+Spring 2+Hibernate 3) 》
- oracle实现绑定in字符串
- WinDbg入门教程
- Content Provider基础之SQL
- 安装eclipse--SVN插件
- 前进
- MS-SQL SERVER 笔记(1)
- Hibernate 问题
- Change SAP default client
- 这次旅游很不开心