- 博客(18)
- 收藏
- 关注
原创 转换类函数
1.CHARTOROWID(c1)该函数将字符串c1转换为ROWID数据类型。2.CONVERT(c1,dest[,sset])该函数将字符串c1有字符集sset转换为dset字符集,sset默认是数据库的字符集。3.ROWIDTOCHAR()该函数将ROWID数据类型转换为CHAR类型数据4.TO_CHAR(x[,fmt[nlsparm,]])该函数将x转换为字符串,...
2019-10-10 10:39:29
228
原创 日期类函数
1.ADD_MONTHS(d,<i>)返回日期d加上i个月后的结果。SELECT ADD_MONTHS(SYSDATE,3) FROM DUAL;ADD_MONTHS(S------------09-JAN-202.LAST_DAYSELECT LAST_DAY(SYSDATE) FROM DUAL;LAST_DAY(SYS------------3...
2019-10-09 22:47:44
273
原创 oracle字符类函数
字符类函数1.ASCII该函数用于返回c1第一个字母的ASCII码,其中cl是字符串。它的逆函数是CHR()。 select ASCII('A') BIG_A,ASCII('a') SAMLL_A FROM dual; BIG_A SAMLL_A---------- ---------- 65 972.CHR(i)该函数求i...
2019-10-09 22:25:06
115
原创 oracle ORA-01031
show parameter passwordNAME TYPE VALUE------------------------------------ ---------------------- ------------------------------remote_login_pass...
2019-10-06 21:46:38
979
原创 ORA-01102: cannot mount database in EXCLUSIVE mode
cd $ORACLE_HOME/dbsrm lk*ipcs -mapipcs -sipcrm -s 98304ipcs -mps -ef | grep orakill -9sqlplus / as sysdbastartup mount
2019-10-06 19:35:09
123
原创 触发器
数据库触发器是一个与表相关联的、存储的PL/SQL程序。每当一个特定的数据操作语句(insert、update、delete)在指定的表上发出时,ORACLE自动地执行触发器中定义的语句序列。第一个触发器--第一个触发器:每当成功插入新员工后,自动打印“成功插入新员工”CREATE TRIGGER sayNewEmpAFTER INSERTON empDECLAREBEGI...
2019-09-08 14:35:42
166
原创 out参数
过程和函数都可以通过OUT指定一个或者多个输出参数,在过程和函数中可以使用out实现返回多个值。--out参数:查询某个员工姓名 月薪和职位CREATE OR REPLACE PROCEDURE queryEmpInform(eno IN NUMBER, pename OUT VARCHAR2, ...
2019-09-07 22:10:24
597
原创 存储函数
--存储函数:查询某个员工的年收入CREATE OR REPLACE FUNCTION queryEmpIncome(eno IN NUMBER)RETURN NUMBER AS --定义变量保存员工的薪水和奖金 psal emp.sal%TYPE; pcomm emp.comm%TYPE;BEGIN --得到该员工的月薪和奖金 SELECT sal,comm INTO ...
2019-09-07 20:22:34
305
原创 带参数的存储过程
为指定的员工,涨100块钱的工资;并且打印涨前和涨后的薪水。--创建一个带参数的存储过程;--为指定的员工,涨100块钱的工资;并且打印涨前和涨后的薪水。/*调用:begin raiseSalary(7839); raiseSalary(7566); commit;end;*/CREATE OR REPLACE PROCEDURE raiseSalary(eno IN...
2019-09-07 20:07:18
792
原创 第一个存储过程 hello world
--第一个存储过程:打印Hello World/*调用存储过程:1:exec syshelloworld();2: begin sayhelloworld(); sayhelloworld(); end;*/CREATE OR REPLACE PROCEDURE sayhelloworldAS --说明部分BEGIN dbms_output....
2019-09-07 19:13:51
240
原创 plsql程序案例
瀑布模型统计每年入职的员工人数/*SQL语句select to_char(hiredate,'yyyy') from emp;->游标->循环->退出条件:notfound变量:1.初始值 2.如何得到每年入职的员工人数:count80 number := 0;count81 number := 0;count82 number := 0;count8...
2019-09-01 17:06:35
764
原创 plsql 例外
例外是程序设计语言提供的一种功能,用来增强程序的健壮性和容错性。系统例外No_Data_Found--系统例外:no_data_foundDECLARE pename emp.ename%TYPE;BEGIN --查询员工号是1234的员工姓名 SELECT ename INTO pename FROM emp WHERE empno=1234; EXCEPTION...
2019-08-31 22:48:06
124
原创 pl/sql游标
游标就是一个结果集(Result Set)--使用游标查询所有员工的姓名和薪水,并打印/*1.游标的属性 %found %notfound*/DECLARE --定义一个游标 CURSOR cemp IS SELECT ename,sal FROM emp; --为游标定义对应的变量 pename emp.ename%TYPE; psal emp.sal%TYPE;B...
2019-08-31 21:15:52
147
1
原创 第一个plsql程序
在PL/SQL中执行--打印Hello Worlddeclare --说明部分(变量,光标或者例外)begin --程序体 dbms_output.put_line('Hello World');end;在sqlplus中执行--打开输出开关set serveroutput on--打印Hello Worlddeclare --说明部...
2019-08-31 17:11:39
170
原创 oracle 高级查询案例
分页查询显示员工信息,显示员工号,姓名,月薪每页显示四条记录,显示第二页的员工,按照月薪降序排列SELECT R,EMPNO,ENAME,SAL 2 FROM (SELECT ROWNUM R,EMPNO,ENAME,SAL 3 FROM(SELECT ROWNUM,EMPNO,ENAME,SAL FROM EMP ORDER BY SAL DESC) E1 ...
2019-07-30 15:36:47
203
原创 oracle 子查询
查询工资比SCOTT高的员工信息SELECT * FROM EMP WHERE SAL > (SELECT SAL FROM EMP WHERE ENAME='SCOTT'); EMPNO ENAME JOB MGR HIREDATE SAL COMM---------- ---------- --...
2019-07-28 15:00:19
84
原创 oracle 多表连接
笛卡尔集:表的列数相加,行数相乘,为了避免笛卡尔集,可以在WHERE中加入有效的连接条件(例如EMP.DEPTNO=DEPT.DEPTNO),连接条数至少有N-1个,N代表表的个数。在实际运行环境下,应避免使用笛卡尔全集,笛卡尔全集中,有些记录是错误的。等值连接查询员工信息,要求显示:员工号,姓名,月薪,部门名称SELECT E.EMPNO,E.ENAME,E.SAL,D.DNAME...
2019-07-27 16:57:39
88
原创 oracle 分组查询
使用SCOTT用户登录分组查询求员工工资的平均值和工资总额SELECT AVG(SAL),SUM(SAL) FROM EMP;求员工工资的最大值和最小值 SELECT MAX(SAL),MIN(SAL) FROM EMP;求员工总数人数 SELECT COUNT(EMPNO) FROM EMP; SELECT COUNT(*) FROM EMP;求出部门数(...
2019-07-27 11:58:32
259
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人