存储过程示例

存储过程示例存储过程示例:例1:创建不带参数的存储过程输出系统日期createorreplaceprocedureoutput_dateisbegindbms_output.put_line(sysd

大家好,又见面了,我是你们的朋友全栈君。

存储过程示例:

例1:创建不带参数的存储过程
输出系统日期
create or replace procedure output_date is
begin
dbms_output.put_line(sysdate);
end output_date;

例2 带参数in和out的存储过程
create or replace procedure get_username(v_id in number, v_username out varchar2)
as
begin
select username into v_username from tab_user where id=v_id; –变量赋值
exception
when no_data_found then
raise_application_error(-2001,’ID不存在!’);
end get_username;

 

例3:一个高效的数据分页的存储过程、
create procedure pageTest
(
@FirstId nvarchar(20)=null, –当前页面里的第一条记录的排序字段的值
@LastID nvarchar(20)=null, –当前页面里的最后一条记录的排序字段的值
@isNext bit=null, –true 1: 下一页; false 0:上一页;
@allCount int output, –返回总记录书
@pageSize int output, –返回一夜的记录数
@CurPage int –也好(第几页) 0:第一页;-1最后一页
)
AS
if @CurPage = 0 –第一页;
begin –统计总记录数
select @allCount=count(ProductId) from Product_test

set @pageSize = 10
–返回第一页的数据
select top 10
ProductId,
ProductName,
Introduction
from Product_test order by ProductId
end

else if @CurPage=-1 –表示最后一页

select * from
(select top 10 ProductId,
ProductName, Introduction

from Product_test order by ProductId desc ) as aa
order by ProductId
else

begin
if @isNext=1
–翻到下一页
select top 10 ProductId,
ProductName,
Intorduction
from Product_test where ProductId > @LastID order by ProductId
else
–翻到上一页
select * from
(select top 10 ProductId,
ProductName,
Introduction
from Product_test where ProductId<@FirstId order by ProductId desc)
as ProductId
end
)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155245.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • landsat8不同波段合成图

    landsat8不同波段合成图添加链接描述

    2022年7月23日
    8
  • Proteus仿真–51单片机最小系统

    Proteus仿真–51单片机最小系统1.单片机的最小系统是由组成单片机系统必需的一些元件构成的,除了单片机之外,还需要包括电源供电电路、时钟电路、复位电路。下面着重介绍时钟电路和复位电路。1)时钟电路单片机工作时,从取指令到译码再进行微操作,必须在时钟信号控制下才能有序地进行,时钟电路就是为单片机工作提供基本时钟的。单片机的时钟信号通常有两种产生方式:内部时钟方式和外部时钟方式。内部时钟方式的原理电路如图所示。在单片机XTAL1和XTAL2引脚上跨接上一个晶振和两个稳频电容,可以与单片机片内的电路构成一个稳定的自激振荡器。晶振的取值

    2022年6月23日
    28
  • 令人炸毛儿的MySQL隐式转换 – 无形之刃,最为致命

    令人炸毛儿的MySQL隐式转换 – 无形之刃,最为致命我相信90%以上的同学们在平时开发时,或多或少都被隐式转换(CONVERT_IMPLICIT)坑过,甚至测出bug前你都浑然不知。你还别不信,“无形之刃,最为致命!”

    2022年10月11日
    2
  • touchesBegan: withEvent: 不执行/完美收起键盘

    touchesBegan: withEvent: 不执行/完美收起键盘eg:写一个category类目 UIScrollView+Event-(void)touchesBegan:(NSSetUITouch*>*)toucheswithEvent:(UIEvent*)event{  [supertouchesBegan:toucheswithEvent:event];  [[[selfnext

    2022年7月25日
    8
  • oracle用户更改密码_修改system用户密码

    oracle用户更改密码_修改system用户密码前几天通过plsql登录数据库时,提示密码过期,需要修改密码,那就修改呗。改完过了会,再登录,发现用户被锁了。那就去解锁下吧。一、登录数据库服务器suoracle;sqlplus”/assysdba”;alteruserxxaccountunlock;重新登,发现还是锁着的,怀疑是有应用服务一直在尝试连数据库导致锁定,遂先把服务给停掉了。二、查看用户状态…

    2022年7月28日
    6
  • Mybatis面试题(总结最全面的面试题!!!)

    Mybatis面试题(总结最全面的面试题!!!)什么是数据持久化?数据持久化是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称。例如,文件的存储、数据的读取等都是数据持久化操作。数据模型可以是任何数据结构或对象的模型、XML、二进制流等。当我们编写应用程序操作数据库,对表数据进行增删改查的操作的时候就是数据持久化的操作。Mybatis框架简介MyBatis框架是一个开源的数据持久层框架。它的内部封装了…

    2022年5月15日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号