首页 > 数据库 >Oracle:分页

Oracle:分页

时间:2023-04-21 17:32:31浏览次数:40  
标签:java 分页 emp mr Oracle import where select


SQL: 

Select ename from emp where ename like '_M%'第二个字母
Select to_char(sysdate, 'yyyy') a from dual //2018
select deptno, job, avg(sal) from emp group by job, deptno部门职员平均工资
select * from emp dept
select * from emp,dept where emp.deptno=dept.deptno

伪列:

select * from (select a.*, rownum mr from hcnote a order by noteid asc) where  mr>=1 and mr<=6

改进:

select * from(select a.*,rownum mr from(
select * from hcnote where notetxt like '%我%'  order by noteid desc)a )where  mr>=1 and mr<=2

对于排序而言的。

java:

package com.dao;

import java.sql.Connection;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.entity.User;
import com.util.DBhelper;

public class Dao {

	public int getMax(String str){
		int nn=0;
		Connection con=null;
		PreparedStatement pre=null;
		ResultSet res=null;
		try {
		con=DBhelper.getCon();
		 String sql="select count(*) from emp where ENAME like '%"+str+"%' " ;
			pre=con.prepareStatement(sql);
			res=pre.executeQuery();
		 if (res.next()) {
			nn=res.getInt(1);
		}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		finally{
			
			DBhelper.myClose(con, pre,res);
		}
		return nn;
		
		
	}
	
	public List<User> GetAll(int name,String str){
		List<User> ml=new ArrayList<User>();
		Connection con=null;
		PreparedStatement ps=null;
		ResultSet rs=null;
		int pages=3;
		int st=(name-1)*pages+1;
		int end=name*pages;
		try {
			con=DBhelper.getCon();
			String sql="select * from(select a.*,rownum mr from(select *" +
			" from emp where ENAME like '%"+str+"%' order by EMPNO desc)a )where mr>="+st+" and mr<="+end;

			ps=con.prepareStatement(sql);
			rs=ps.executeQuery();
			while(rs.next()){
				User n=new User();
				n.setUname(rs.getString(1));
				n.setUpass(rs.getString(2));
				ml.add(n);
			}
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		finally{
			DBhelper.myClose(con, ps, rs);
		}
		return ml;
	}
	
}

存储:

declare 
gid varchar2(33):=&sno;
gsal scott.emp.sal%type;
begin
  select sal into gsal from emp
  where empno=gid;
  
  if(gsal>3000) then
  dbms_output.put_line('要纳税');
  elsif(gsal=3000) then
  dbms_output.put_line('不用');
  else 
  dbms_output.put_line('不要纳税');

end if;

end;

--循环输出1-100
declare 
i number(9):=1;
begin
  <<myloop>>
  loop
    dbms_output.put_line(i);
    i:=i+1;
    exit myloop when i=101;
  end loop;
end;

--输出1-100的和
declare 
i number(8):=1;
sumi number(8):=0;
begin
 while i<=100
    loop
      sumi:=sumi+i;
      i:=i+1;
    end loop;  
   dbms_output.put_line(sumi);
end;

create view emphc as

create or replace procedure pname(pno number)
as
gname varchar2(22);
begin
  select ename into gname from emp
  where empno=pno;
    dbms_output.put_line('姓名:'||gname);
  exception
     when no_data_found then
       dbms_output.put_line('找不到');

end;


begin
 pname(7369);
end;

 

标签:java,分页,emp,mr,Oracle,import,where,select
From: https://blog.51cto.com/u_16082902/6213858

相关文章

  • oracle:触发、分页
    分页解释:intindex=1;intsize=5;intstart=(index-1)*size+1;intend=index*size;--115--2610wheremrbetween6and10select*from(selecta.*,rownummrfromempa)wheremr>=6andmr<=10 触发:createorreplacefunctionf(xnumber)returnnumberi......
  • Oracle删除用户及用户下的全部数据
     1、查看用户select*fromall_usersselect*fromuser_usersselect*fromdba_users2、查看用户的连接状况selectusername,sid,serial#fromv$sessionwhereusername='NCC'3、找到要删除用户的sid,和serial,并删除altersystemkillsession'4521,27770'4......
  • 使用Oracle的springBoot
    application.ymlspring:application:name:zplatformdatasource:driver-class-name:oracle.jdbc.driver.OracleDriverurl:jdbc:oracle:thin:@主机号:端口号/数据库?characterEncoding=utf8&useSSL=false&serverTimezone=UTC&allowPublicKeyRetriev......
  • MongoDriver 分表分页查询
    摘要:业务需求,分表也要兼容旧表。技术有限,封装思路及代码如下,大佬们见笑。首先Mongdb的Collection及其内容字段都是可以动态创建的,所以这里需要的一个关键点是,分表时用什么字段。本文将使用数据的创建时间作为依据,按月分表(如果需要其它字段分表,也可以参考这个思路)首先本文使......
  • oracle function 函数
    oraclefunction的几个实例,只限入门,高手路过 --********thesimplestexampleoffunction--tip:canusesqltodirectlycallthefunctionwithinmoduleparametercreateorreplacefunctionget_customer_namereturnvarchar2isv_uservarchar2(100);begins......
  • oracle constraint的属性
    constraint有三个属性:deferrabledeferredvalidated;其中deferrable和deferred联合使用,可以控制何时判断数据完整deferrabledefered就可以在commit时再判断;其中validated和enable联合使用,可以允许旧数据的不完整enablenotvalidated时,即可。 然后转一篇文章,讲解很详细:Oracle......
  • Oracle 创建定时任务 DBMS_JOB
    需求:创建一个每天凌晨一点执行的任务(存储过程)1、创建存储过程--一般存储过程语法CREATEORREPLACEPROCEDUREUPDATE_LABEL_TABLE_DATE_DTISBEGIN UPDATEIC_CO_BAE_INFOSETDT=TO_CHAR(TRUNC(SYSDATE-1),'yyyy-MM-dd'); UPDATEIC_RG_RRG_INFO_V1SETDT=TO_CHAR(......
  • mybatis 调用 oracle 带包存储过程(有out参数)
    https://blog.csdn.net/u010925982/article/details/102958001  1.先写xml映射文件<selectid="call"parameterType="java.util.HashMap"statementType="CALLABLE"resultType="java.util.HashMap"><!--call包名.方法名(参数)-......
  • oracle数字类函数
    Oracle数据库中所有的数字类函数:ABS:返回指定数值的绝对值ACOS:返回指定角度的反余弦值ASIN:返回指定角度的反正弦值ATAN:返回指定数字的反正切值ATAN2:返回两个数值的反正切值CEIL:返回大于或等于指定数字的最小整数(向上取整)COS:返回指定角度的余弦值COSH:返回......
  • oracle字符类函数
    Oracle数据库中所有的字符类函数:ASCII:返回某个字符的ASCII码值ASCIISTR:返回字符的ASCII码值的字符串表示CHR:返回指定ASCII码对应的字符CONCAT:连接两个字符串CONVERT:将一个字符集转换成另一个字符集INITCAP:将字符串每个单词首字母大写INSTR:返回字符串中子串的......