2 star902 star902 于 2013.10.25 09:09 提问

orcal 中存储过程 这样写对吗

create or replace procedure PageList(tbName IN VARCHAR(255),tbFieldsIN VARCHAR(1000), orderField IN VARCHAR(255),orderType IN INT,strWhere IN VARCHAR(1000),pageSize IN INT,pageIndex IN INT,pageRecord OUT INT)
is
BEGIN

/*定义变量*/
DECLARE m_begin_row  INT DEFAULT 0;
DECLARE m_limit_string  CHAR(64);
DECLARE m_order_string  CHAR(128);
DECLARE orderStr        CHAR(64);
DECLARE whereStr        VARCHAR(1000);

/*构造语句*/
if (orderType=1) then
set orderStr = 'asc';
else
set orderStr = 'desc';
end if;

if (strWhere<>'') then
set whereStr = CONCAT(' where ',strWhere,' ');
else
set whereStr = ' ';
end if;

SET m_begin_row = (pageIndex - 1) * pageSize;
SET m_limit_string = CONCAT(' LIMIT ', m_begin_row, ', ', pageSize);
SET m_order_string = CONCAT(' order by ',orderField,' ',orderStr);

SET @COUNT_STRING = CONCAT('SELECT COUNT(*) INTO @ROWS_TOTAL FROM ', tbName, ' ', whereStr);
SET @MAIN_STRING = CONCAT('SELECT ', tbFields, ' FROM ', tbName, '  ', whereStr, '  ', m_order_string, m_limit_string);

/*预处理*/
PREPARE count_stmt FROM @COUNT_STRING;
EXECUTE count_stmt;
DEALLOCATE PREPARE count_stmt;
SET pageRecord = @ROWS_TOTAL;

PREPARE main_stmt FROM @MAIN_STRING;
EXECUTE main_stmt;
DEALLOCATE PREPARE main_stmt;

END

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
oracle存储过程详解
orcal存储过程详解,orcal存储过程详解,orcal存储过程详解
java 调用ORCAL存储过程
Java 调用ORCAL存储过程 Java 调用ORCAL存储过程 Java 调用ORCAL存储过程 无返回值 有返回值
Oracle数据库存储过程和存储函数
存储过程和存储函数        指存储在数据库中供所有用户程序调用的子程序叫存储过程、存储函数。 存储过程没有返回值。存储函数有返回值        创建存储过程       用CREATE PROCEDURE命令建立存储过程和存储函数。         语法: create [or replace] PROCEDURE过程名(参数列表)  AS         PL
18-Oracle学习_存储过程-递归-树状结构的存储与展示
一, 表 create table article ( id number primary key, cont varchar2(4000), pid number, isleaf number(1), -- 0, 叶子结点; 1, 非叶子结点 alevel number(2) ); 二, 数据 insert into article valu
Oracle存储过程详解(一)
存储过程创建语法: create [or replace] procedure 存储过程名(param1 in type,param2 out type) as 变量1 类型(值范围); 变量2 类型(值范围); Begin Select count(*) into 变量1 from 表A where列名=param1; If (判断条件) then Select
ajax这样写对吗
$(function(){ $.ajax({ type:"POST", url:"fenye?page=2", success:function(aaa){ alert(aaa) } }) })
oracle数据库(序列和存储过程)
1.序列 序列是一个计数器,它并不会与特定的表关联。通过创建Oracle序列和触发器实现表的主键自增。 序列的用途一般用来填充主键和计数。 --创建序列 create sequence seq_users start with 1--开始值为1 increment by 1;--每次增长一个(步长、频次) --使用序列 select seq_users
Oracle 存储过程中like语句的参数问题
PROCEDURE FIND_PLANKEYWORD(I_STRKEY IN VARCHAR2, --关键字 O_CUR OUT SYS_REFCURSOR) --预案信息集合 IS BEGIN OPEN O_CUR FOR SELECT * FROM TB_PLAN_MNAGER T WHERE T.PLA
Oracle中的存储过程简单例子
接下来会更多的学习Oracle的存储过程
Oracle中的函数和存储过程--真实项目示例
最近,在项目中写了数据库的函数和存储过程,趁此机会,整理了一下。 用户自定义函数是存储在数据库中的代码块,可以把值返回到调用程序。函数的参数有3种类型: (1)in参数类型:表示输入给函数的参数,该参数只能用于传值,不能被赋值。 (2)out参数类型:表示参数在函数中被赋值,可以传给函数调用程序,该参数只能用于赋值,不能用于传值。 (3)in out参数类型:表示参数既可以传值,也可以