oracle 中select into是什么意思

问题描述:

oracle 中select into是什么意思
把一个表里面的内容复制到另一个吗 还是别的 是不是还要先创建一个表啊
create table aaa as select * from bbb 这样的效果 用select into 能做到么?

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