一个变量存储多个值的查询sql
来源:互联网 发布:python 数组 clear 编辑:程序博客网 时间:2024/04/29 23:49
你可能遇到过这种情况:select * from 表A where name in (****),在in语句里面你想用个变量,但是这个变量有时候有多个值,如 in(‘李
四’,‘张三’),这个时候你是绝对不能写成
DECLAREv1 VARCHAR2(100):='a,b';num1 NUMBER;BEGINSELECT COUNT(1) INTO num1 FROM a WHERE m_name IN (v1);dbms_output.put_line(num1);END;
这个时候肯定输出的是0,因为oracle会将你‘a,b’解析成一个值,所以肯定是查不到记录的,这个时候就要用上动态sql了,下面提供
种常用的写法:
这种写法一定要把into写在外面,虽然看起来有点怪
DECLAREv1 VARCHAR2(100):='''a'',''b''';num1 NUMBER;BEGIN execute IMMEDIATE 'select count(1) from a where m_name in ('||v1||')' INTO num1;dbms_output.put_line(num1);END;
下面的写法是不能达到效果的,因为用绑定变量也就默认了是一个变量,不能达到一个变量存储多个变量值的效果
DECLAREv1 VARCHAR2(100):='''a'',''b''';num1 NUMBER;v_sql VARCHAR2(200);BEGIN v_sql := 'select count(1) from a where m_name in (:1)'; execute immediate v_sql INTO num1 USING v1;dbms_output.put_line(num1);END;
0 0
- 一个变量存储多个值的查询sql
- SQL查询变量的数据类型
- 查询一个变量的类型
- PL/SQL里拼接SQL的查询结果赋值给一个变量
- sql 查询出来的数据(累加)赋值给一个变量<无意中发现--百度搜不到>
- SQL中如何才能将查询的结果数据存在一个变量中???
- SQL like 带变量的 查询
- 查询未绑定变量的sql
- 在SQL Server中使用SQL语句查询一个存储过程被其它所有的存储过程引用的存储过程名
- sql 查询存储过程的定义过程
- 两个综合查询的SQL存储过程!
- 绑定变量与非绑定变量sql的查询
- sql 查询 定义变量
- 一个通用查询的存储过程
- 一个传入查询的存储过程
- 一个分页查询的存储过程
- 定一个变量来存储存储过程的返回值
- 关于变量的一个奇怪的SQL
- Unicode字符集和多字节字符集关系
- 回顾2013,展望2014
- iOS 5.0 后UIViewController新增:willMoveToParentViewController和didMoveToParentViewCon
- 从MVC框架看MVC架构的设计
- 2013年个人小结!
- 一个变量存储多个值的查询sql
- EMC中国研究院
- VC编程练习之API笔记(五)—动态菜单的制作
- ipdb调试命令
- css flash嵌入网页
- google python 入门教学课程
- 几个大数据的问题
- SQL中SET和SELECT赋值的区别
- Proxy---HAProxy简介