`
zengshaotao
  • 浏览: 791913 次
  • 性别: 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_Developer8.0绿色版64位

    PLSQL Developer是一款强大的Oracle数据库开发工具,专为PL/SQL编程语言设计,它提供了一整套集成环境,便于开发、调试、管理以及执行PL/SQL代码。标题中的"PLSQL_Developer8.0绿色版64位"指的是该版本是针对64位...

    plsql 32位下载

    PLSQL Developer是一款强大的Oracle数据库管理工具,主要针对PL/SQL语言进行开发、调试和管理。在32位操作系统环境下,用户可能需要下载适用于该系统的PLSQL Developer版本。本指南将详细介绍如何下载并安装32位...

    PLSQL Developer14用户指南

    PLSQL Developer 14用户指南 PLSQL Developer 14用户指南是Oracle公司出品的一款专业database开发工具,旨在帮助用户快速掌握PL/SQL语言编程。该指南详细介绍了PL/SQL Developer 14的安装、配置、编程和调试等方面...

    PlSql中的 CnPlugin 插件

    **PlSql中的CnPlugin插件详解** PL/SQL Developer(简称PLSQL)是一款由Allround Automations公司开发的专业Oracle数据库管理与开发工具,它为数据库管理员和开发人员提供了强大的功能,包括编写、调试、执行SQL和...

    plsql11汉化包

    PLSQL Developer是一款强大的Oracle数据库开发工具,主要用于编写、调试、执行和管理PL/SQL程序。在中文环境下,对于不熟悉英文界面的用户来说,使用英文版可能会带来不便。"plsql11汉化包"正是为了解决这个问题,...

    PLSQL14_32位

    PLSQL Developer是一款强大的Oracle数据库开发工具,主要用于编写、调试、执行和管理PL/SQL程序单元。这个"PLSQL14_32位"压缩包文件很可能是PLSQL Developer的第14版本,专为32位操作系统设计。如果你的计算机上已经...

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

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

    PLSQL程序优化和性能分析方法

    PLSQL程序优化和性能分析方法 PLSQL程序优化是指在编写PLSQL程序时,为了提高程序的执行效率和性能所采取的一系列措施和技术。这些措施和技术可以帮助开发者编写高效、可靠、可维护的PLSQL程序,从而提高系统的整体...

    PLSQL Developer 8.0汉化包

    PLSQL Developer是一款强大的Oracle数据库开发工具,主要用于编写、调试、执行和管理PL/SQL代码。这个8.0版本的汉化包是专为那些需要中文界面的用户设计的,使得国内用户在使用PLSQL Developer时能更加方便地理解和...

    PLSQL 操作学习文档

    PLSQL(Procedural Language/Structured Query Language)是Oracle数据库中的一个强大工具,它结合了SQL的查询功能和过程性编程语言的特点,使得数据库管理、数据处理和应用程序开发更为便捷。"PLSQL Developer"是一...

    plsql8.0汉化包

    PLSQL Developer是一款强大的Oracle数据库开发工具,主要用于编写、调试、执行和管理PL/SQL代码。在8.0版本中,为了方便中文用户使用,官方或社区提供了汉化包,使得界面和帮助文档能够显示为中文,提高中国用户的...

    PLSQL免安装版(无需安装Oracle客户端)

    PLSQL Developer是一款强大的Oracle数据库管理工具,尤其适合于开发和管理员工进行数据库操作。这款工具以其易用性和全面的功能而闻名,它允许用户编写、测试和调试PL/SQL代码,管理表、视图、存储过程等数据库对象...

    plsql developer9.0破解版

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

    PLSQL developer 64 位

    PLSQL Developer是一款强大的Oracle数据库开发工具,专为64位操作系统设计。这款工具以其直观的用户界面、高效的代码编辑器和全面的调试功能而受到广大数据库管理员和开发者的青睐。在"PLSQLDeveloper_解压版(64位...

    plsql 12 汉化版+注册Key

    PLSQL Developer是一款强大的Oracle数据库开发工具,由Allround Automations公司开发。在本文中,我们将深入探讨PLSQL Developer 12的汉化版及其与Oracle数据库的交互,以及如何使用注册Key激活软件。 PLSQL ...

    PLSQL Developer 11.0.6.1776 英文绿色注册版(免Oracle客户端

    PLSQL Developer 11.0.6.1776 英文绿色注册版(免Oracle客户端) 免安装Oracle客户端,绿色无公害。 说明: 1、点击 "启动PLSQL.exe" 即可免装oracle使用PLSQL 或者 使用qidong.bat...作用:设置临时变量,启动plsql

    plsql批量导入数据

    在Oracle数据库环境中,PL/SQL Developer(简称PLSQL)是一种常用的工具,用于编写、调试和管理PL/SQL代码。当我们需要处理大量数据导入任务时,PLSQL提供了多种方法来实现批量导入,这些方法高效且灵活。本文将详细...

    PLSQL 绿色版_免安装ORACLE.zip

    PLSQL Developer是一款强大的Oracle数据库管理工具,主要用于编写、调试、执行和管理PL/SQL程序。在给定的压缩包文件“PLSQL 绿色版_免安装ORACLE.zip”中,用户可以找到一种无需正式安装Oracle客户端即可使用PLSQL ...

    plsql64位系统

    PLSQL Developer是一款强大的Oracle数据库开发工具,专为64位操作系统设计。这款工具以其直观的用户界面、高效的代码编辑和调试功能,深受数据库管理员和开发人员喜爱。在64位系统上使用PLSQL Developer,可以充分...

    PLSQL免安装版本下载

    PLSQL Developer是一款强大的Oracle数据库开发工具,主要用于编写、调试、执行和管理PL/SQL代码。在许多情况下,用户可能需要PLSQL的免安装版本,这可能是出于便携性、节省系统资源或者避免系统冲突的考虑。标题...

Global site tag (gtag.js) - Google Analytics