oracle 数据库割接,Oracle数据库用法汇总

一些Oracle数据库用法的小总结

1.使用insert into创建新表

insert into destdb.sub_contract (userid,contractid) select msisdn,product

from month_payinfo partition (partitionname)

2.select 字段中使用条件分支

(case when (status=7)

then 9

else status

end) as status

3.判断字段为空时设置默认值

nvl(subdate,20100101) as subdate

4.存在索引的表大量的数据割接方法

先删除主键约束,再删除索引

alter table sub_contract drop constraint pk_sub_contract;

drop index pk_sub_contract;

数据割接完后,先并发无日志增加索引,再创建主键约束

create unique index pk_sub_contract on sub_contract(userid,contractid) local parallel 64 tablespace sub01_idx nologging;

alter index pk_sub_contract noparallel;

alter index pk_sub_contract logging;

alter table  sub_contract add constraint pk_sub_contract primary key (userid,contractid) using index pk_sub_contract;

dbms_output.put_line('sqlcode:' || to_char(sqlcode) || ',sqlerrm:' || sqlerrm);

5.特殊字符处理

通过||拼接特殊字符&

或者set define off

6.检查存储过程等sql语句影响的数据行数

sql%rowcount insert into影响的行数

sqlplus / as sysdba

sqlplus yw/yw@ip:1521/ora @install.sql

7.绑定变量

execute immediate'select count(1) from sub_contract where userid=:1 and contractid=:2' into v_temp using var.userid,var.contractid;

作者:木木与呆呆

链接:https://www.jianshu.com/p/6e2051986357

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值