select * from (select emp.*,rownum rn from emp where rownum <= 6) where rn >= 3;
--创建一个包,在这个包类声明一个游标类型
create or replace package my_fenye_package as
type my_fenye_cursor is ref cursor;
end my_fenye_package;
--创建分页存储过程
create or replace procedure my_fenye_pro
(
table_name varchar2,--输入,表名
page_no number,--输入,当前页号
page_size number,--输入,每页记录数
total_counts out number,--输出,总记录数
page_object out my_fenye_package.my_fenye_cursor --输出,每页记录
)
is
v_sql varchar2(2000);
v_begin number := (page_no-1)*page_size;
v_end number := page_no * page_size;
begin
open page_object for 'select * from (select '||table_name|| '.*,rownum rn from '||table_name||' where rownum <= '||v_end||') where rn > '||v_begin;
v_sql := 'select count(*) from '||table_name;
execute immediate v_sql into total_counts;
--close page_object;
end;
关于execute immediate的问题
execute immediate用来执行动态sql,比如表的名字在运行时才知道,则需要这个语句
语法:execute immediate v_sql into v_result using 参数1 参数2 。。。
解释:使用参数1、参数2,执行v_sql语句,将返回值赋给变量v_result。(当然返回值只能是一行数据)
其实这个东西就是类似于JDBC中的preparedstatement
例子:
declare
v_sql varchar2(2000);
v_deptno number;
begin
v_sql := 'select deptno from emp where ename = :1';
execute immediate v_sql into v_deptno using 'SCOTT';
dbms_output.put_line(v_deptno);
end;
在select语句中,例如count(),max(),min(),avg(),sum(),等组函数,不能写在where语句的后面
在带有group by子句的查询语句中,在select列表中指定的列要么是group by字句中指定的列,要么是组函数
查询语句的select, order by 和having字句是聚组函数唯一出现的地方,在where子句中不能出现组函数
分享到:
相关推荐
http://blog.csdn.net/bjchangxiao/article/details/68489880
这个压缩包"orcl_sql.zip_orcale_orcl和_orcl导入语句_sql"显然包含了一些与Oracle数据库相关的SQL语句,特别是针对"orcl"实例的导入操作。下面我们将深入探讨这些关键概念。 1. **Oracle数据库实例**: - Oracle...
orcl_bak.dmporcl_bak.dmporcl_bak.dmporcl_bak.dmporcl_bak.dmp
【jeesite_orcl_By】项目详解 "jeesite_orcl_By" 是一个基于Oracle数据库的Jeesite企业级应用框架的实例。Jeesite是一个开源的Java Web开发框架,设计目标是简化企业级应用的开发流程,提高开发效率。而"By"可能...
Wzl_Orcl_Lab51.sql
SQLTracker是一款专为ORCL(Oracle)数据库设计的SQL语句跟踪工具,它允许用户针对特定的执行(exe)进行详细的跟踪,以便更好地理解和优化数据库性能。在数据库管理中,了解SQL语句的执行情况是至关重要的,因为SQL...
《Oracle 10g 正则表达式精要解析》 在数据库管理领域,Oracle 10g 是一个里程碑式的版本,它引入了许多创新特性,其中就包括对正则表达式(Regular Expressions)的强大支持。正则表达式是文本处理和数据提取中的...
- `*.log_archive_config='dg_config=(orcl_pri,orcl_std)'` - `*.log_archive_dest_1='location=/u01/app/arch valid_for=(all_logfiles,all_roles) db_unique_name=orcl_pri'` #### 四、备库配置 **1. 安装...
在"ORCL数据库相关文档.rar"这个压缩包中,我们可以找到一系列关于Oracle数据库的重要资料,尤其是"Oracle命令集合"部分,它涵盖了Oracle数据库管理和操作的各种常见命令。 首先,创建实例是Oracle数据库管理的基础...
exp hyzltest/123456@172.16.17.110/orcl file=/home/oracle/backup/orcl_$backuptime.dmp log=/home/oracle/backup/orcl_$backuptime.log ``` **Oracle 11G 脚本示例**: ``` #!/bin/bash export LANG="en_...
1、环境说明 主库 备库 IP 10.0.19.5 10.0.19.6 ...DB_UNQUE_NAME orcl_p orcl_s 数据库文件路劲 /u01/app/oracle/oradata /u01/app/oracle/oradata 归档文件路劲 /u01/archivelog /u01/archivelog_s
增加主数据库 (ORCL_1) 和备数据库 (ORCL_2) 的定义。 6. **创建参数文件** (`initORCL.ora`): ```sql create pfile='d:\initORCL.ora' from spfile; ``` 7. **编辑参数文件** (`initORCL.ora`): 添加以下...
对备库进行类似配置,但使用不同的SID名称,如`orcl_standby`。 8. **配置网络服务名**: 在`tnsnames.ora`文件中定义服务名,以便客户端可以连接到主库和备库。例如: ``` orcl_primary = (DESCRIPTION = ...
手工建库: 1.写参数文件,创建实例: vi $ORACLE_HOME/dbs/initorcl.ora 写入以下内容: ...control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl'
2. **数据库实例**:主库名为`orcl`,运行在`prim`主机(192.168.211.175),备库名为`orcl_std`,运行在`stand`主机(192.168.211.180)。 **二、环境配置** 1. **主库设置**: - 开启归档模式:`ALTER DATABASE...
- 使用 Enterprise Manager Console 创建网络服务 **ORCL_SDE**,其中主机名为服务器A的名称或IP地址,SID为ORCL(或实际安装时的实例名称)。 - 通过 NET Manager 创建 oracle 服务 **ORCL_SDE** 和监听程序。 **...
这里假设我们已经创建了一个名为`orcl_to_mysql`的DBLink,用于连接到名为`mydb`的MySQL数据库: ```sql CREATE DATABASE LINK orcl_to_mysql CONNECT TO mysql_user IDENTIFIED BY 'mysql_password' USING '...
例如,如果别名为`orcl_133`,则登录命令为:`sqlplus scott/tiger@orcl_133`。 - **使用PL/SQL Developer登录** 在PL/SQL Developer中选择“Database”->“Login”,在弹出的窗口中选择之前配置的别名进行登录。...
orcl_jjjg是SID名,如是从本地数据导则为本地的SID名,如是远程从其他的数据库导则为在本地客户端中所配的SID名。 三、使用imp命令导入数据 使用imp命令可以将dmp文件从本地导入到远处的数据库服务器中。例如,...
*.control_files='/u01/oracle/oradata/orcl/control01.ctl','/u01/oracle/oradata/orcl/control02.ctl','/u01 /oracle/oradata/orcl/control03.ctl' *.core_dump_dest='/u01/oracle/admin/orcl/cdump' *.db_...