用动态sql拼接语句就好了!
成都创新互联专注于网站建设、成都网站建设、网页设计、网站制作、网站开发。公司秉持“客户至上,用心服务”的宗旨,从客户的利益和观点出发,让客户在网络营销中找到自己的驻足之地。尊重和关怀每一位客户,用严谨的态度对待客户,用专业的服务创造价值,成为客户值得信赖的朋友,为客户解除后顾之忧。
VSQL varchar2(2000)
day varchar2(2);
begin
day:= to_char(sysdate-1,'dd');
VSQL:=' selectsum(sms.send_count) into sa_send_cnt from core_school sc
inner join sms_mt_send sms on sc.school_id = sms.school_id
inner join sms_mt_send_detail_'||day||' detail on sms.mt_send_id = detail.mt_send_id
where sms.data_src in (1,2,3) and (detail.errorcode ='0'or detail.errorcode isnull) ';
execute immdiate VSQL;
end
标准的答案!导出时修改不了,采用createtablehis_custasselect*fromcust的方式挺好,
效率还可以,因为这种方式会将索引去掉,生成的表中没有任何约束,
3000W数据不知道,我的是500W数据,大概10个字段,几分钟就好。
1.
spfile是参数文件。这个就相当于你数据库的一些配置的信息。scope=spfile,表明在数据库下次启动的
时候生效。如果不加,表示立刻生效,下次启动依然有效。但有些参数是不能在数据库运行的状态下修改的。
2.select...from...是标准的sql语句。也就是说,你select后面必须是表的列,from后面必须是表的名称(当然,视图函数什么的就不多讲了,讲了你听着也乱)。
system
不是表的名称,所以你的语句是无效的。
alter
system
set
open_links=12,这句话你要按照英语翻译过来。意思是将系统的open_links这个参数,设置成12!而不是将system这个表修改掉。你看这句话里根本没有table这个词,当然也就不能select。
你要用show
parameter
open就可以找到这个参数了。
你最好先去看看oracle基础知识的书
--将原表名用英文的双引号引起来,便可改名或删除
alter table "PRT_QZKAKOU_2019--202003" rename to PRT_QZKAKOU_2019__202003;
看看tablespace的bigfile参数配置
一般来说,bigfile的表空间只有一个文件,而非大文件表空间的是可以有多个文件的,一般存储的话,都是先存一个文件,满了再写下一个文件。
select
bigfile
from
dba_tablespaces
where
tablespace_name=\\'表空间名称\\'
返回
yes
则是大文件表空间,返回no,就是普通的表空间(小文件的)
good
luck!
你可以先把类型为varchar的字段该名,再加以个字段为要该为date的字段名相同, 二, 1,测试表create table TEST(ID NUMBER not null, NAME VARCHAR2(20))ALTER TABLE SCOTT.TEST RENAME TO TEST1--修改表名 ALTER TABLE SCOTT.TEST RENAME COLUMN NAME TO NAME1 --修改表列名 ALTER TABLE SCOTT.TEST MODIFY NAME1 NUMBER(20) --修改字段类型 ALTER TABLE SCOTT.TEST ADD ADD RESS VARCHAR2(40) --添加表列 ALTER TABLE SCOTT.TEST DROP COLUMN RESS--删除表列三, ALTER TABLE gtsysusr.SCHEDULE_CONTENTS MODIFY CONTENTS_ID NVARCHAR2(64) 另建一个表,把varchar改成date,然后用SQL转一下插入,然后删除原表,然后改目标表名字。应该可以了。 四,
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款