问题描述
- 在oracle select 的条件后面跟上into是什么意思?
-
select nvl(sum(列1),0) as 别名,
nvl(sum(列2),0) as 别名from T_表名 where 列1 > 12 case 列1 when '1' then ... into 列名n 这里的into代表什么意思,请高手指点,谢谢!
解决方案
into一般有两种使用方法,
一种是将结果赋值给变量,在存储过程或程序块中使用
如: select id into v_id from table1 where rownum=1
这种你的查询结果应该只有一条记录,否则会报错,查询结果也应该跟v_id的定义类型一致
另外一种是插入语句使用
1)一般简单插入,将查询结果插入另外一个表
insert into table2
select id,name from table1;
2) 条件插入语句
insert all
when id=1 then into table1(id,name)values(id,name)
when id=2 then into table2(id,name)values(id,name)
select id,name from table2
楼主说的不知道是哪一种?建议把SQL全部贴出来看
解决方案二:
表示你的写法是 sql server 的
解决方案三:
oracle where 后面的条件中|| 是连接符号,Oracle中还有一个concat函数可以连接两个字符串
concat(a,b)
Oracle中nvl函数的用法和作用是什么?
如果你某个字段为空,但是你想让这个字段显示0
nvl(字段名,0),就是当你选出来的时候,这个字段虽然为空,但是显示的是0,当然这个0也可以换成其他东西,如:1,2,3……......
答案就在这里:oracle where 后面的条件中|| 是什么意思
解决方案四:
就是将查询出来的数据,放到一个into 后面的那个表里。
eg: select * into new_table from XXX_table.
解决方案五:
一种是给定义的变量赋值
比如:select stuName into sname from student where id='1';
一种就是把查找出的来的数据插入到另外一个表中的字段下面