oracle 中select into是什么意思

问题描述:

oracle 中select into是什么意思
把一个表里面的内容复制到另一个吗 还是别的 是不是还要先创建一个表啊
create table aaa as select * from bbb 这样的效果 用select into 能做到么?
1个回答 分类:综合 2014-11-27

问题解答:

我来补答
这是一个复制表数据的操作.
创建aaa表,这里没有定义aaa表的字段以及类型,而是用select * from bbb,这就是把bbb里面所有的字段包含类型以及数据都复制到aaa中去.那么就创建了一张和bbb表一样的aaa表.包括数据等都一样.只是不包含bbb表中的主键以及约束等.
这个地方是不能使用select into来完成的.
select into 是SQLSERVER的语法:同样的效果select * into aaa from bbb
再问: select * into aaa from bbb 我先创建了表 bbb 里面有数据 然后创建aaa 字段名字跟他一样 然后和 select * into aaa from bbb 报错 说缺失关键字....
再答: select * into aaa from bbb 这个是SQLSERVER的语法,不是ORACLE的语法。 您看我上边的回答,我说SQLSERVER那么写和您那个ORACLE是同样的效果。 如果创建好了AAA一样的字段等,可以这么写 insert into aaa select * from bbb
再问: 我是在oracle存储过程中 发现有人用的 他是这么写的 IF ACTIONTIME IS NULL THEN SELECT TRUNC(SYSDATE-1,'DD') INTO ACTIONTIME FROM DUAL; 这个是什么意思啊////
再答: 这是给ACTIONTIME变量赋值,你在程序前边声明变量的地方找,肯定能找到ACTIONTIME这个日期型变量。 TRUNC(SYSDATE-1,'DD') 是获取昨天的日期,比如今天是27号,那么这个结果就是2011年4月26日。 IF ACTIONTIME IS NULL THEN SELECT TRUNC(SYSDATE-1,'DD') INTO ACTIONTIME FROM DUAL; END IF;------后边应该有这句吧? 这个的意思是,如果ACTIONTIME这个变量是空的话,那么就设置这个变量的值为昨天的日期。 就这么简单。如果这个变量非空,那么就不设置了,保留原值。
 
 
展开全文阅读
剩余:2000
也许感兴趣的知识