`
zengshaotao
  • 浏览: 756756 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

plsql

    博客分类:
  • SQL
 
阅读更多

-- 日期格式条件
select *
  from abc
 where to_date('20111111', 'yyyymmdd') <= to_date(d, 'yyyymmdd')
   and to_date('20111115', 'yyyymmdd') >= to_date(d, 'yyyymmdd')
  
--只能通过主键关联,才能更新
 UPDATE (SELECT fund.Paymenttime       paytime,
                        fund.paystatus         sta,
                        detail.Operatortime    opertime,
                        detail.pay_result_flag resflag
                   FROM T_PRPJFUNDSPAYMENTDETAIL fund,
                        T_RS_PAY_DETAIL          detail
                  WHERE fund.PAYDETAILSEQID = detail.SEQ_ID
                    and pay_result_flag = '0'
                    and fund.paystatus in ('4', '5'))
            SET resflag  = decode(sta, '4', '1', '5', '2', '0'),
                opertime = paytime
-- 加入参数后 可以避开主键关联的限制         
  "UPDATE (SELECT /*+BYPASS_UJVC*/  " +
     "fund.Paymenttime paytime,fund.paystatus sta, fund.PAYACCOUNT acc, " +
     "fund.PAYACCOUNTNAME nm,fund.PAYBANKLOCATION bkloca," +
     "detail.OPERATOR_TIME opertime,detail.pay_result_flag resflag," +
     "detail.RS_ACCCOUNT,detail.RS_USER_NM,detail.RS_BANK_NM " +
     "FROM T_PRPJFUNDSPAYMENTDETAIL fund, T_RS_PAY_DETAIL detail " +
     "WHERE fund.CERTINO = detail.GROUP_ID and pay_result_flag = '0' " +
     "and fund.paystatus in ('4', '5'))" +
     "SET resflag     = decode(sta, '4', '1', '5', '2', '0'),opertime    = paytime," +
     "RS_ACCCOUNT = acc,RS_USER_NM  = nm,RS_BANK_NM  = bkloca"
               
 --
 select PAYDETAILSEQID, PAYSTATUS,PAYMENTTIME
  from T_PRPJFUNDSPAYMENTDETAIL fund
 where exists (select 1
          from T_RS_PAY_DETAIL pay
         where pay.seq_id = fund.PAYDETAILSEQID
         and pay.pay_result_flag='0'
         and fund.paystatus in('4','5')
         );
        
 --- 内外连接
 select * from bcd vv inner join abc uu on vv.a=uu.a --内连接,或者叫等值连接
select * from bcd vv left join abc uu on vv.a = uu.a --左连接,显示左边所有的记录


--
select * from abc; --8  9  1  2  888
select * from bcd; --7  9  8
--查询出 bcd 表中 7 的记录
select * from bcd bb where not exists (select 1 from abc aa where aa.a = bb.a );


select substr(a,0,3) from abc where a='888'--包括begin,不包括end

insert into t_accounthis select * from t_account

--删除表多余的列
alter table T_ACCOUNTING_PERIOD drop (acc_sta);
alter table t_note_info add (ACCOUNTING_DATE varchar2(8));
create sequence S_INEX_INFO_SEQ_ID increment by 1 nocache;

select note.note_seq_id,note.costcenter from T_NOTE_INFO note where note.comcode='34010100';--票据基本信息表(NOTE_SEQ_ID主键)
select * from T_VERIF_TRACE;--票据使用明细表(VERIF_NO主键,核销流水号 ,采用的是新建序列发生器的方式)

select * from T_NOTE_INFO note where note.note_seq_id='159'for update ;--主键采用的是sequence,是数据库的方式

select * from T_NOTE_INFO note where (amount-nvl(useamt,'0'))>0;--通过票据单号可进行关联


-- 创建导出数据需要的用户和权限设置
create user zengst identified by zengst;

grant connect,resource,dba to zengst;


--创建序列
create sequence Seq_FundsPayment
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
cache 20;

create sequence batchIds
minvalue 1
maxvalue 999999999999999999999999999
start with 1
increment by 1
cache 20;

select batchId.Nextval from dual;
select batchId.Currval from dual

-- 更新视图信息
 update (select * from abc where c=7 ) set c=2
 
 --rownum不用用于表示大于等于的形式
   alter table T_PRPJFUNDSPAYMENTDETAIL add (requestBatch varchar2(30));
  
   -- 日期格式 到秒
   delete from t_accounthis where to_date(process_date_2,'yyyyMMddHH24miss')>=to_date('20111128003003','yyyyMMddHH24miss')

and to_date(process_date_2,'yyyyMMddHH24miss')<=to_date('20111128173003','yyyyMMddHH24miss')

-- 先根据where条件帅选数据,然后对满足条件的数据按照创建时间筛选
select * from t_middle_task where actionFlag = 'A' and MODULE_ID = 'MOD001' order by tcrttm

-- rownum也是和其他条件一样,进行数据帅选的
-- group by 和forupdate不能一起使用
-- rownum=1,但是不能使用rownum=3或者大于1的数,也不能这样用:rownum>8,只能这样用:rownum<=3
   --查询一个表的索引
  select * from all_indexes where table_name = 'T_REFUNDBACK_TASK';
   -- 给表建索引
   create index indexbatchid on T_REFUNDBACK_TASK (batchid);
  
   -- 都可以使用
SELECT * FROM T_ARAP_INFO WHERE LENGTH(SEQ_ID) != 30;
SELECT * FROM T_ARAP_INFO WHERE LENGTH(SEQ_ID) <> 30;

--普遍对于增删改查的英文缩写为crud 即create read updata delete(不按顺序翻译)
--进入到:windows ->preferences->General->Appearance->Lable Decorations 勾选其中的 SVN 项即可。
--或者,还可以打开 windows ->preferences->Team -> SVN 中做相关设置。

select count(*)
  from T_ACCOUNTING_PERIOD
 where (to_date(start_date, 'yyyy-MM-dd') <= to_date('20120201', 'yyyy-MM-dd') and to_date(end_date, 'yyyy-MM-dd') >= to_date('20120201',' yyyy - MM - dd '))
 or
  (to_date(start_date,' yyyy - MM - dd ')<=to_date(' 20120222 ',' yyyy - MM - dd ') and to_date(end_date,' yyyy - MM - dd ')>=to_date(' 20120222 ',' yyyy - MM - dd '))
  or(to_date(start_date,' yyyy - MM - dd ')>to_date(' 20120201 ',' yyyy - MM - dd ') and to_date(end_date,' yyyy - MM - dd ')<to_date(' 20120222 ',' yyyy - MM - dd '))
 
 
-- 查询数据库的job工作
select * from dba_jobs;
          
---手工执行定时任务
begin
 dbms_job.run(8);
end;

---删除定时任务
begin
 dbms_job.remove(8);
end;

--对同一个表,select 两个字段没问题,但是外围还有一层select的时候就需要通过别名加以区分

    ---建立索引可以增加select的效率,但是会降低update delete的效率
    --通过where条件就可以使用建立的索引
   
    select count(user),user.age from User user group by user.age having count(user)>10

分享到:
评论

相关推荐

    PLSQL安装包及解决PLSQL过期文件

    PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。... 该安装包包含了解决PLSQL过期的文件,将PLSQL安装后将解决过期的文件放到安装包中,即可解决PLSQL过期的问题。即可永久使用。

    plsql developer9.0破解版

    plsql developer9 0破解版 PLSQL Developer 9 0 0 1601破解版本使用了8 0的汉化包 可以正常使用 无需注册 默认为英文 点击菜单tools preferences appearance language 选择简体中文即可切换到简体中文界面 如果...

    PLSQL Developer 12 (32位)中文绿色注册版免Oracle客户端版1

    PLSQL Developer 11.0.2.1766 中文绿色注册版(免Oracle客户端) PLSQL Developer 11.0.2.1766 中文绿色注册版(免Oracle客户端) 免安装Oracle客户端,绿色无...CN.GBK start PLSQLDev.exe 作用:设置临时变量,启动plsql

    PLSQL Developer 12(64位)中文绿色注册版免Oracle客户端

    1、点击 "启动PLSQL.exe" 即可免装oracle使用PLSQL 或者 使用qidong.bat启动 (启动PLSQL.exe是qidong.bat编译的exe,隐藏调用qidong.bat启动PLSQL,比qidong.bat好处没有黑框界面,有图标); 2、Oracle64为oracle ...

    plsql_svn插件

    下面简单介绍下PLSQL developer工具的SVN版本控制 1, 下载pl/sql-svn插件。 2, 关闭你打开的所有pl/sql窗口。  3,将插件里的SVN_Plugin.dll文件复制到PLSQL DeveloperPlugIns目录下。  4,重新打开pl/sql,...

    PLSQL Developer 9 中文绿色破解版

    PLSQL Developer9-GGS 0402版 (更新至Oracle11g2内核) 完美绿色中文破解版,真正地免安装Oralce,已集成最新的instantclient(Oracle11g2),兼容Oracle11g2以下所有版本。 如果需要运行原版,请直接进入bin文件夹...

    PLSQL 64位中文破解+注册机

    plsql developer 64位是专门针对windows 64位操作系统开发的Oracle数据库管理工具,它拥有强大的数据库编辑器和智能化的语法特性,在使用sql语句创建和编辑数据库的基础上提供更加简捷实用的图形化界面进行数据库表...

    plsql11安装包文件

    plsql11安装包文件

    PLSQL Developer 11.0.2.1766 中文绿色注册版(免Oracle客户端).

    PLSQL Developer 11.0.2.1766 中文绿色注册版(免Oracle客户端) PLSQL Developer 11.0.2.1766 中文绿色注册版(免Oracle客户端) 免安装Oracle客户端,绿色无公害。...作用:设置临时变量,启动plsql

    PLSQL Developer7(oracle数据库)

    PLSQL Developer7(oracle数据库) PLSQL Developer7(oracle数据库) PLSQL Developer7(oracle数据库) PLSQL Developer7(oracle数据库) PLSQL Developer7(oracle数据库) PLSQL Developer7(oracle数据库) ...

    plsql developer 12 注册码

    plsql developer plsql developer plsql developer plsql developer plsql developer

    PLSQL.Developer(X64) v11.0.6.1796 主程序+ v11中文包+keygen

    64位版本的 PLSQL 正式版,只能运行在64位系统中,需要你安装 64 位的 Oracle11g 或 Oracle12c 客户端。 安装中文包时请注意安装路径是否为PLSQL程序的路径。 Enhancements in PL/SQL Developer 11.0.6 ===========...

    plsql安装程序plsql.rar

    plsql安装程序plsql.rar......................................

    plsql精解plsql精解

    plsql精解plsql精解plsql精解plsql精解

    plsql删除重复记录

    plsql删除重复记录

    plsql11汉化包

    plsql11汉化包 一键汉化plsql 告别英文plsql 亲测可用

    plsqldev15.0.0.2050x32多语言版+sn

    32位版本的 PLSQL 正式版。 安装请查看说明。 APRIL 8, 2022 - VERSION 15.0 RELEASED Dark Mode styles and Light Mode styles Read-Only Connections Editor enhancements A macro can now be repeated by ...

    plsqldev15.0.1.2051x64多语言版+sn

    64位版本的 PLSQL 正式版,只能运行在64位系统中,需要你安装 64 位的 Oracle 客户端。 安装请查看说明。 MAY 27, 2022 - VERSION 15.0.1 RELEASED Enhancements Stability improvements Difference Viewer ...

    PLSQL Developer14用户指南

    PLSQL Developer14用户指南英文版

    PlSql中的 CnPlugin 插件

    使plsql 中的日常操作更加便捷,可以自定义快捷键

Global site tag (gtag.js) - Google Analytics