热门标签 | 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"服务启动即可 


 

 


推荐阅读
  • Oracle10g备份导入的方法及注意事项
    本文介绍了使用Oracle10g进行备份导入的方法及相关注意事项,同时还介绍了2019年独角兽企业重金招聘Python工程师的标准。内容包括导出exp命令、删用户、创建数据库、授权等操作,以及导入imp命令的使用。详细介绍了导入时的参数设置,如full、ignore、buffer、commit、feedback等。转载来源于https://my.oschina.net/u/1767754/blog/377593。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 高质量SQL书写的30条建议
    本文提供了30条关于优化SQL的建议,包括避免使用select *,使用具体字段,以及使用limit 1等。这些建议是基于实际开发经验总结出来的,旨在帮助读者优化SQL查询。 ... [详细]
  • ALTERTABLE通过更改、添加、除去列和约束,或者通过启用或禁用约束和触发器来更改表的定义。语法ALTERTABLEtable{[ALTERCOLUMNcolu ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • 本文讨论了在使用sp_msforeachdb执行动态SQL命令时,当发生错误时如何捕获数据库名称。提供了两种解决方案,并介绍了如何正确使用'?'来显示数据库名称。 ... [详细]
  • WhenIusepythontoapplythepymysqlmoduletoaddafieldtoatableinthemysqldatabase,itdo ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
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社区 版权所有