热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

oracle常用语句(长期更)

1.建表:createtableSF_JLSF_T(bhNUMBERnotnull,(实体类中是privateLongbh;)yhbhNUMBERnotnull,

1. 建表:

create table SF_JLSF_T
(bh NUMBER not null,(实体类中是private Long bh;)yhbh NUMBER not null,jssj VARCHAR2(20),fylb VARCHAR2(60),jfrq DATE default SYSDATE not null,jfje NUMBER default 0 not null,
)
// Add comments to the columns
comment on column SF_JLSF_T.bhis '编号';
comment on column SF_JLSF_T.yhbhis '用户编号';
comment on column SF_JLSF_T.jssjis '结算时间';
comment on column SF_JLSF_T.fylbis '费用类别';
comment on column SF_JLSF_T.jfrqis '交费日期';
comment on column SF_JLSF_T.jfjeis '交费金额';

 2. 添加主键:

alter table SF_JLSF_Tadd primary key (BH);

3. 创建序列:

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

4. 触发器:

CREATE OR REPLACE TRIGGER SF_ZKLBH_TRBEFORE INSERT ON SF_ZKL_TFOR EACH ROW
DECLARE// local variables here
BEGINSELECT SF_ZKL_S.NEXTVAL INTO :NEW.BH FROM DUAL;
END SF_ZKLBH_TR;

5. 给已经存在的表增加一列:


 

alter table 表名 add 列名 varchar(20) ;
alter table a1 add age number;

6.  给已经存在的表修改属性:

alter table SF_YHZK_T modify zkzt varchar(10) default '启用';

7. 创建DBLink:

(192.168.1.5 是其他服务器所在的IP)       

-- Create database link
create database link QDDYconnect to username identified by password using '192.168.1.5:1521/oracle';

8. Oracle密码过期:

--将密码有效期由默认的180天修改成“无限制”:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
--修改之后不需要重启动数据库,会立即生效。
--修改后,还没有被提示ORA-28002警告的帐户不会再碰到同样的提示;已经被提示的帐户必须再改一次密码,举例如下
sqlplus / as sysdba
sql> alter user smsc identified by <原来的密码> ----不用换新密码
sql> alter user system identified by root;
sql> alter user scott identified by tiger;

9. 存储过程调试的时候日期类型填入2017/7/29形式即可(主要是和操作系统日期右下角的格式对应)。
10. 存储过程单步调试无法进入的时候&#xff1a;
右键存储过程&#xff0c;选择ADD DEBUG INFORMATION(添加调试信息)
11. oracle用户被锁定the account is locked的解决办法&#xff1a;

ALTER USER CHARGE_TAIDA ACCOUNT UNLOCK;
ALTER USER CHARGE_TAIDA IDENTIFIED BY CHARGE_TAIDA;

12. Oracle的SQL中

<>
!&#61;
~&#61;
^&#61;

都是不等于的意思。但是记住&#xff1a;null只能通过is null或者is not null来判断&#xff0c;其它操作符都会过滤掉null的数据。 

13. SQLCODE和SQLERRM关键词&#xff1a;

EXCEPTIONwhen errorException thenerrorCode :&#61; SQLCODE; errorMsg :&#61; SUBSTR(SQLERRM, 1, 200);dbms_output.put_line(errorCode || &#39;,&#39; || errorMsg); WHEN OTHERS THEN errorCode :&#61; SQLCODE; errorMsg :&#61; SUBSTR(SQLERRM, 1, 200); dbms_output.put_line(errorCode || &#39;,&#39; || errorMsg); V_RESULT :&#61; -1;V_RESULT_MSG :&#61;errorMsg;-- &#39;调用存储过程发生异常&#39;;ROLLBACK;
END;

14. oracle中函数编译无报错信息时&#xff0c;可通过以下语句查询&#xff1a;

select * from SYS.USER_ERRORS where NAME &#61; and type &#61;
--记住这里的参数都要大写即可&#xff0c;如&#xff1a;
select * from SYS.USER_ERRORS where NAME &#61; &#39;SF_GETYHBM_DY_F&#39;;

15.存储过程循环&#xff1a;

V_YEAR :&#61; TO_NUMBER(SUBSTR(V_CNQ,0,4));LOOPI:&#61;1&#43;I;EXIT WHEN I >&#61; V_NX;END LOOP;    

 
16.存储过程输出&#xff1a;

dbms_output.put_line(sqlerrm); 

17.Oracle中文排序&#xff1a;
    当然&#xff0c;Oracle也提供了按照中文拼音排序&#xff0c;按照部首或笔画排序&#xff0c;方式如下&#xff1a;
    

按照拼音顺序:ORDER BY nlssort(NAME, &#39;NLS_SORT&#61;SCHINESE_PINYIN_M&#39;)
按照部首顺序:ORDER BY nlssort(NAME, &#39;NLS_SORT&#61;SCHINESE_RADICAL_M&#39;)
按照笔画顺序:ORDER BY nlssort(NAME, &#39;NLS_SORT&#61;SCHINESE_STROKE_M&#39;)

18. Oracle查询小数位数是两位数以上的数据&#xff1a;

select * from tab where col <> trunc(col * 100) / 100;

19.Oracle函数格式&#xff1a;

&#xff08;1&#xff09;有参数&#xff1a;

create or replace function GET_JBCNFL( -- 只查当前采暖期,目前只考虑了两种 供暖方式,如果有增减要改代码V_MJBHS VARCHAR2
) return varchar2 isResult SF_CS_T.CSZ%TYPE; -- SF_CS_T.CSZ%TYPEV_GNFS SF_JMMJ_T.GNFS%TYPE;V_CSMC SF_CS_T.CSMC%TYPE;V_CSZ SF_CS_T.CSZ%TYPE;V_SQL VARCHAR2(2000);TYPE cur_type IS REF CURSOR;cur cur_type;
beginResult :&#61; &#39;&#39;;V_SQL :&#61; &#39;SELECT DISTINCT CSZ,REPLACE(CSMC,&#39;&#39;基本采暖费率-&#39;&#39;,&#39;&#39;&#39;&#39;) FROM SF_CS_T WHERE CSMC IN(&#39;;V_SQL :&#61; V_SQL || &#39; SELECT DISTINCT REPLACE(&#39; || &#39;&#39;&#39;基本采暖费率-&#39;&#39;&#39; || &#39;|&#39; || &#39;|&#39; || &#39;GNFS&#39; || &#39;,&#39; || &#39;&#39;&#39;-普通方式&#39;&#39;&#39; || &#39;,&#39;&#39;&#39;&#39;) FROM SF_JMMJ_T &#39;;V_SQL :&#61; V_SQL || &#39; WHERE BH IN (&#39; || V_MJBHS || &#39;))&#39;;Open cur for V_SQL;loopfetch cur into V_CSZ,V_GNFS;exit when cur%notfound;IF V_GNFS&#61;&#39;地热方式&#39; THENResult :&#61; Result || &#39;地热方式:&#39; || V_CSZ;ELSEResult :&#61; Result || &#39;普通方式:&#39; || V_CSZ;END IF;Result :&#61; Result || &#39;,&#39;;end loop;close cur;return(Result);
end GET_JBCNFL;

&#xff08;2&#xff09;无参数&#xff1a;

CREATE OR REPLACE FUNCTION SF_DQCNQ_F
RETURN VARCHAR2
ISV_CNQ VARCHAR2(10);
BEGINSELECT MAX(CNQ) MAXCNQ INTO V_CNQ FROM SF_CS_T WHERE ZF &#61; 0;RETURN V_CNQ;
END SF_DQCNQ_F;

20.PLSQL Developer打开oralce字段时报“无效的窗口句柄”的问题&#xff0c;与系统的打印服务有关&#xff0c;只要将“Print Spooler"服务启动即可 


 

 


推荐阅读
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • importpymysql#一、直接连接mysql数据库'''coonpymysql.connect(host'192.168.*.*',u ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • 如何在Java中使用DButils类
    这期内容当中小编将会给大家带来有关如何在Java中使用DButils类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。D ... [详细]
  • php更新数据库字段的函数是,php更新数据库字段的函数是 ... [详细]
  • 数据类型和操作数据表2.1MySQL类型之整型2.2MySQL数据类型之浮点型2.3日期时间型DATE1支持时间:1000年1月1日~9999年12月31日DATETIME ... [详细]
  • 本文介绍了如何在 Spring 3.0.5 中使用 JdbcTemplate 插入数据并获取 MySQL 表中的自增主键。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • 本文介绍如何在将数据库从服务器复制到本地时,处理因外键约束导致的数据插入失败问题。 ... [详细]
  • com.hazelcast.config.MapConfig.isStatisticsEnabled()方法的使用及代码示例 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • MySQL的查询执行流程涉及多个关键组件,包括连接器、查询缓存、分析器和优化器。在服务层,连接器负责建立与客户端的连接,查询缓存用于存储和检索常用查询结果,以提高性能。分析器则解析SQL语句,生成语法树,而优化器负责选择最优的查询执行计划。这一流程确保了MySQL能够高效地处理各种复杂的查询请求。 ... [详细]
author-avatar
--AppleChan--
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有